varför funkar inte följande? Såhär tror jag du måste göra, var iofs ett tag sedan jag pysslade med C++... Vart deklarerar du vdag någonstans? rätt johan. Felet är att du deklarerar variablen vdag i if-satsen, och då gäller den bara i if-satsen. Det är nyckelordet char som gör att det blir en deklaration. om du vill kan du ju skriva char som (char) så får du ingen deklaratoin utanif-sats med char
if (dagar==1)
char vdag[10]="Måndag";
else if (dagar==2)
char vdag[10]="Tisdag";
else if (dagar==3)
char vdag[10]="Onsdag";
else if (dagar==4)
char vdag[10]="Torsdag";
else if (dagar==5)
char vdag[50]="Fredag";
else if (dagar==6)
char vdag[10]="Lördag";
else if (dagar==7)
char vdag[10]="Söndag";
han säger bara att jag inte använder vdag!
jag har deklararerat vdag tidigare i programmet men den vägrar helt enkelt fatta att han ska ge den deklarerade variabeln (vet inte om de kallas så) följande värde beroende på vilket värde dagar har!!
tack så himmla myclket för all hjälp iaf!!Sv: if-sats med char
if (dagar==1)
strcpy(vdag, "Måndag");
else if (dagar==2)
strcpy(vdag, "Tisdag");
/JohanSv: if-sats med char
Du ska inte deklarera den igen i din if-sats om du gjort det en gång redan.
Tilldelar du i en funktion?
Och glöm inte avsluta din sträng med null.Sv: if-sats med char
men i detta fall skulle jag föreslå en switch sats.
char vdag[10];
switch (dagar)
{
case 1:
strcpy(vdag, "Måndag");
break;
case 2:
strcpy(vdag, "Tisdag");
break;
case 3:
strcpy(vdag, "Onsdag");
break;
case 4:
strcpy(vdag, "Torsdag");
break;
case 5:
strcpy(vdag, "Fredag");
break;
case 6:
strcpy(vdag, "Lördag");
break;
case 7:
strcpy(vdag, "Söndag");
break;
}Sv: if-sats med char
I och med att du inte berättat vad du ska ha det till så gissar jag att du bara vill lagra veckodagarnas namn, och då gör du enklast så här istället:
char *vdag[] =
{
"", "måndag", "tisdag", "onsdag", "torsdag", "fredag", "lördag", "söndag"
};
(Om du nu absolut vill ha från 1-7, vill säga. Det normala är ju annars 0-6, och i så fall tar du ju bara bort den tomma strängen först.)Sv: if-sats med char
en type-casting istället så kommer din kod att fungera!
/[peter.h]