sring in Struktur kopieren [HELP]
-
hi! ich labere nicht rum und komm gleich zur sache:
*pGK=*pGK+tarif*(double)laenge; if(wahl!=3) *pAL=sprintf(ZwSpeicher,"%d.%d.%d %d:%d - %d:%d Tarif:%.2f Kosten:%.2f Euro\n", Dtag, DMonat,DJahr, ASt, AMi, ESt, EMi, tarif,*pGK); else *pAL=sprintf(ZwSpeicher,"%d.%d.%d Tarif:%.2f Kosten:%.2f Euro Text:%s\n", Dtag, DMonat,DJahr, tarif,*pGK, Text); (*pAZ)++;
*pAL zeigt auf Strukturvariable (tFest/tMobil/tSMS).Auflistung[20][1080]
*pGK zeigt auf Sturkturvariable (tFest/tMobil/tSMS).Gesamtkosten
(1=tFest ....)
er sollte eigentlich
ZwSpeicher sollte dies ausgeben als beispiel:12.12.1999 1:1 - 1:2 Tarif:0.04 Kosten: 0.04
in ZwSpeicher wird jedoch nur dies gespeichert dann:
12.12.1999 1:1 - 1:2 Tarif:0.00 Kosten: 0.00
irgendwas stimmt mit Tarif nicht! die rechnung muss stümmen, da ich ausversehen statt tarif vorhin 0.07 eingegeben und beim ausgabe kam dies raus dann:
12.12.1999 1:1 - 1:2 Tarif:0.00 Kosten: 0.07
seltsam
nun möchte ich aber dann die Auflistung auflisten! dafür hab ich ein extrafunktion gemacht namens void Auflistung(int wahl)
int i=0; if(wahl==1) { for(i=0;i<tFest.Anzahl;i++) { printf("%s",tFest.Auflistung[i]); } }
hier gibt er aber nur ein zeichen pro Auflistung aus, das nichts mit der Auflistung zu tun hat! warum X_X
-
*pGK=*pGK+tarif*(double)laenge;
welchen Datentyp hat pGK welchen Datentyp hat das Element auf das pGK verweißt? welchen Datentp hat tarif? welchen Datentyp hat leange?
-
struct TKosten { double Gesamtkosten; char Auflistung [20][1080]; int Anzahl; }; double * pGK; int laenge; int Dtag, DMonat,DJahr, ASt, AMi, ESt, EMi; double tarif=0.0; char Text[1000], ZwSpeicher[1080];
-
............
editiert!!!
so ... hab jetzt anders gemacht ... kommt immernoch fehler:
struct TKosten { double Gesamtkosten; char Auflistung [20][1080]; int Anzahl; }; struct TKosten tFest={0.0,{0},0}, tMobil={0.0,{0},0},tSMS={0.0,{0},0}; struct TKosten * pt;
void Rechnen(int wahl) { int Dtag, DMonat,DJahr, ASt, AMi, ESt, EMi, laenge, tarif; char Text[1000], ZwSpeicher[1080]; double kosten; if(wahl==1) { pt = &tFest; printf("Festnetz:\n"); printf("=========\n"); } else if(wahl==2) { pt= &tMobil; printf("Mobil:\n"); printf("=========\n"); } else { pt = &tSMS; printf("SMS:\n"); printf("=========\n"); } . . . if(wahl==1) (*pt).Auflistung[(*pt).Anzahl]=sprintf(ZwSpeicher,"%d.%d.%d %d:%d - %d:%d Tarif: %d Cent Kosten:%.2f Euro\n", Dtag, DMonat,DJahr, ASt, AMi, ESt, EMi, tarif, kosten);//(Dtag, DMonat,DJahr, ASt, AMi, ESt, EMi,tarif,kosten); else (*pt).Auflistung[(*pt).Anzahl]=sprintf(ZwSpeicher,"%d.%d.%d %d:%d - %d:%d Tarif: %d Cent Kosten:%.2f Euro\n", Dtag, DMonat,DJahr, ASt, AMi, ESt, EMi, tarif,kosten); ((*pt).Anzahl)++;
fehlermeldung:
--------------------Konfiguration: Kostenrechnung - Win32 Debug--------------------
Kompilierung läuft...
Kostenrechnung.cpp
D:\Projekte\Kostenrechnung\Kostenrechnung.cpp(183) : error C2440: '=' : 'int' kann nicht in 'char [1080]' konvertiert werden
Es gibt keine Konvertierungen von Feldtypen, obwohl es Konvertierungen von Verweisen oder Zeigern in Felder gibt
D:\Projekte\Kostenrechnung\Kostenrechnung.cpp(184) : error C2440: '=' : 'int' kann nicht in 'char [1080]' konvertiert werden
Es gibt keine Konvertierungen von Feldtypen, obwohl es Konvertierungen von Verweisen oder Zeigern in Felder gibt
Fehler beim Ausführen von cl.exe.Kostenrechnung.exe - 2 Fehler, 0 Warnung(en)
bitte um hilfe X(