x = sqrt(4*a*b + sqrt(3-r));
struct Program { char namn[30 + 1]; char kanal[20 + 1]; int starttimme; int startminut; int sluttimme; int slutminut; };
struct Program csi = { "CSI", "Kanal 5", 21, 0, 22, 0 };
void visa_program(struct Program programmet) { printf("%.2d:%.2d - %.2d:%.2d (%s): %s\n", programmet.starttimme, programmet.startminut, programmet.sluttimme, programmet.slutminut, programmet.kanal, programmet.namn); } // visa_program
int krockar(struct Program program1, struct Program program2) { int p1start = program1.starttimme * 60 + program1.startminut; int p1slut = program1.sluttimme * 60 + program1.slutminut; int p2start = program2.starttimme * 60 + program2.startminut; int p2slut = program2.sluttimme * 60 + program2.slutminut; return p1slut > p2start && p2slut > p1start; } // krockar
int fel(struct Program program1, struct Program program2) { return krockar(program1, program2) && strcmp(program1.kanal, program2.kanal) == 0; } // fel
struct Program las_program() { struct Program p; printf("Ange data för ett TV-program.\n"); printf("Start-timme: "); scanf("%d", &p.starttimme); printf("Start-minut: "); scanf("%d", &p.startminut); printf("Slut-timme: "); scanf("%d", &p.sluttimme); printf("Slut-minut: "); scanf("%d", &p.slutminut); while (getchar() != '\n') ; printf("Programmets namn: "); gets(p.namn); // gets är osäker, och bör egentligen undvikas! printf("Sänds i kanal: "); gets(p.kanal); // gets är osäker, och bör egentligen undvikas! return p; } // las_program
...
Kommentarer: Kursmaterialet använder void main, trots att C-standarden (i de flesta sammanhang) egentligen kräver int main. Jag använder int main i mina lösningar, men ger inga poängavdrag för void main....
#include <stdlib.h> #include <stdio.h> int main(void) { float bensinforbrukning; // Liter per kilometer float bensinpris; // Kronor per liter float denna_stracka; // Kilometer float summa_av_strackorna; // Kilometer printf("Ange bensinförbrukningen för din bil (liter per mil, avsluta med 0): "); scanf("%f", &bensinforbrukning); while (bensinforbrukning != 0) { printf("Ange bensinpriset (kronor per liter): "); scanf("%f", &bensinpris); summa_av_strackorna = 0; printf("Ange längden på en sträcka (kilometer, avsluta med 0): "); scanf("%f", &denna_stracka); while (denna_stracka != 0) { summa_av_strackorna += denna_stracka; printf("Ange längden på en sträcka (kilometer, avsluta med 0): "); scanf("%f", &denna_stracka); } printf("Sammanlagd bensinkostnad: %.2f\n", summa_av_strackorna / 10 * bensinforbrukning * bensinpris); printf("Ange bensinförbrukningen för din bil (liter per mil, avsluta med 0): "); scanf("%f", &bensinforbrukning); } return 0; }
...
...
...