PDA

View Full Version : problemi con strutture in C#


xeddicus
02-10-2011, 14:47
Salve a tutti.è il mio primo post,ma credo che mi troverò spesso a scrivere qui.sono uno studente di 4° superiore e volevo sapere come mai in questo mio programma mi da l'errore dove indicato.è già la seconda volta che me lo dice su codici diversi,solo che uno l'ho risolto,questo no!
grazie dell'aiuto.

#include <stdio.h>
#include <stdlib.h>
/*caricare vett animali --> FATTO
caricamento vet a-b-c --> FATTO
scivere una funzione che ricerchi il nome più corto.
Chiamare la funzione in modo che venga applicato al 1 vet,al 2,al 3 e visualizzi ogni volta il nome più lungo e poi più corto.*/
typedef struct animal
{
char nome[30];
}fattoria;
void load_animals(fattoria anim[],int n)
{
int i=0;
printf("\n Scrivi il nome di %d animali che inizino per a, b o c.\n",n);
for(i=0; i<n; i++)
scanf("%s",&anim[i]);
}
void divide(fattoria anim[],fattoria vet[],int n,char lett)
{
int i=0,k=0;
for(i=0; i<n; i++)
if(anim[i].nome[1]==lett){
vet[k]=anim[i];
k=k+1;
}

}
void find_minus(fattoria vet[],char minimo[],int x)
{
int i=0;
char lett[]="zzzzzzzzz";
int min_num=0;
for(i=0; i<x; i++){
min_num=strcmp(vet[i].nome,lett);
if(min_num<0)
lett=vet[i].nome; //incopatible tpes in assignment.cosa sbaglio??
}

}
int main(int argc, char *argv[])
{
//inizializzazioni
int n=10;
fattoria animali[n];
fattoria a[n],b[n],c[n];
int i=0;
char lettera;
char min1[n],min2[n],min3[n];
//funzioni e operazioni
load_animals(animali,n);
lettera='a';
divide(animali,a,n,lettera);
lettera='b';
divide(animali,b,n,lettera);
lettera='c';
divide(animali,c,n,lettera);
find_minus(a,min1,n);
find_minus(b,min2,n);
find_minus(c,min3,n);
system("PAUSE");
return 0;
}


:D
moltiguardano ma poci aiutano...si può sapre perchè?non sono riuscito a trovare soluzioni su internet,e on sono espertissimo.potete/volete darmi una mano?
grazie

Ken1986
03-10-2011, 07:06
Quale sarebbe l'errore?

GByTe87
03-10-2011, 08:04
...
char lett[]="zzzzzzzzz";
...
lett=vet[i].nome; //incopatible tpes in assignment.cosa sbaglio??
...

lett deve contenere una copia o un riferimento alla stringa? Perchè dalle righe sopra (che costituiscono l'errore) non si capisce. :D

Comunque parliamo di C, non C#. :D

xeddicus
03-10-2011, 14:44
grazie.comuqneu poi ho risolto,è solo che non pensavo alle funzioni della string.h e ho fatto vari erroretti(dovuti alla stanchezza).
che differenza c'è tra C e C#?

gugoXX
03-10-2011, 19:04
grazie.comuqneu poi ho risolto,è solo che non pensavo alle funzioni della string.h e ho fatto vari erroretti(dovuti alla stanchezza).
che differenza c'è tra C e C#?

Quello che hai postato sopra non e' C#

banryu79
04-10-2011, 10:48
grazie.comuqneu poi ho risolto,è solo che non pensavo alle funzioni della string.h e ho fatto vari erroretti(dovuti alla stanchezza).
che differenza c'è tra C e C#?
Questa pagina (http://en.wikipedia.org/wiki/Comparison_of_programming_languages) dovrebbe soddisfare qualche curiosità.

xeddicus
06-10-2011, 18:32
Quello che hai postato sopra non e' C#
risolto tutto..problema mentale di stanchezza...ecco dov'era l'errore!:cool: