000
27.05.2018, 21:08 Uhr
m.sc.m
|
Hi zusammen!
Ich habe folgenden Code von einem Professor in Elektrotechnik im Modul Softwareengeniering (mit C++) bekommen.
Da möchte ich gerne eure Meinung zu hören.
Also allgemein zum Code und ob man C Code in C++ verwenden sollte.
Danke im voraus!
C++: |
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h>
// Alte Datenstruktur: "lose Variablensammlung"... float liter, kilometer, euro, verbrauch, eur_pro_liter; FILE *outfile_ptr; int scan_zahl; unsigned int merker_erste_schleife =1;
// Fortgeschrittene Datenstruktur struct fb_zeile {
int tag, monat, jahr; float liter, kilometer, euro, verbrauch, eur_pro_liter; };
fb_zeile z1, z2, z3, z4, z5; fb_zeile fb_tabelle [5]; int eingabefunktion_scan_int (int anzahl_wiederholer, int * einlese_var_int_ptr); int eingabefunktion_scan_float (int anzahl_wiederholer, float * einlese_var_int_ptr); int main() {
printf ("Hallo, das ist das neue etwas komfortablere Fahrtenbuch-Programm \n"); printf ("Geben Sie bis zu max. 5 Tankbelege ein! \n\n");
for (int i=0; i<5; i++) { printf ("\nBitte geben Sie das Datum ein, zuerst den Tag!\n"); eingabefunktion_scan_int (2, &fb_tabelle[i].tag);
printf ("\nBitte geben Sie das Datum ein, jetzt den Monat!\n"); eingabefunktion_scan_int (2, &fb_tabelle[i].monat);
printf ("\nBitte geben Sie das Datum ein, jetzt das Jahr!\n"); eingabefunktion_scan_int (5, &fb_tabelle[i].monat);
printf ("\nBitte geben Sie die getankten Liter ein!\n"); eingabefunktion_scan_float (5, &fb_tabelle[i].liter);
// Abbruch mit break, wenn Literzahl kleiner Null if (liter<0) break;
printf ("\nBitte geben Sie gefahrenen Kilometer ein!\n"); eingabefunktion_scan_float (5, &fb_tabelle[i].kilometer);
printf ("\nBitte geben Sie den bezahlten Betrag in Euro ein!\n"); eingabefunktion_scan_float (5, &fb_tabelle[i].euro);
/* Berechnung Verbrauch */ fb_tabelle[i].verbrauch = fb_tabelle[i].liter/fb_tabelle[i].kilometer * 100;
/* Berechnung Euro/Liter */ fb_tabelle[i].eur_pro_liter = fb_tabelle[i].euro/fb_tabelle[i].liter;
/* Ausgabe auf Bildschirm*/ printf ("\nVerbrauch in l/100km= %f\n", fb_tabelle[i].verbrauch); printf ("Euro pro Liter =%f\n\n", fb_tabelle[i].eur_pro_liter);
/* Ausgabe auf File*/ // outfile_ptr = fopen("outfile.xls","a+");
} // endfor_i return (0);
} // endmain int eingabefunktion_scan_int (int anzahl_wiederholer, int * einlese_var_int_ptr) { int scan_zahl =0; for ( int i =0; i <= (anzahl_wiederholer-1); i++ ) { printf ("Geben Sie einen ganzzahligen Werte ein! \n"); scan_zahl =scanf ("%i", einlese_var_int_ptr); printf ("scan_zahl =%i\n", scan_zahl); if (scan_zahl ==0) { printf ("Fehler aufgetreten, bitte Neueingabe!"); fflush (stdin); } // endif if (scan_zahl >0 ) return (scan_zahl); } return (scan_zahl); } // endfunction
int eingabefunktion_scan_float (int anzahl_wiederholer, float * einlese_var_int_ptr) { int scan_zahl =0; for ( int i =0; i <= (anzahl_wiederholer-1); i++ ) { printf ("Geben Sie einen ganzzahligen Werte ein! \n"); scan_zahl =scanf ("%f", einlese_var_int_ptr); printf ("scan_zahl =%i\n", scan_zahl); if (scan_zahl ==0) { printf ("Fehler aufgetreten, bitte Neueingabe!"); fflush (stdin); } if (scan_zahl >0 ) return (scan_zahl); } return (scan_zahl); } // endfunction
|
Dieser Post wurde am 28.05.2018 um 15:51 Uhr von FloSoft editiert. |