3C | 2012-2013 | ITIS "G. Chilesotti" | Thiene | 2012-10-06 | Sistemi |
3C | 2012-2013 | ITIS "G. Chilesotti" | Thiene | 2012-11-07 | Sistemi |
3C | 2012-2013 | ITIS "G. Chilesotti" | Thiene | 2012-11-19 | TPSIT |
3C | 2012-2013 | ITIS "G. Chilesotti" | Thiene | 2012-12-12 | Sistemi |
3C | 2012-2013 | ITIS "G. Chilesotti" | Thiene | 2012-12-12 | TPSIT |
3C | 2012-2013 | ITIS "G. Chilesotti" | Thiene | 2013-03-01 | TPSIT RD |
3C | 2012-2013 | ITIS "G. Chilesotti" | Thiene | 2013-03-15 | Sistemi RD |
3C | 2012-2013 | ITIS "G. Chilesotti" | Thiene | 2013-03-26 | Sistemi |
3C | 2012-2013 | ITIS "G. Chilesotti" | Thiene | 2013-04-16 | TPSIT |
3C | 2012-2013 | ITIS "G. Chilesotti" | Thiene | 2013-05-08 | TPSIT |
3C | 2012-2013 | ITIS "G. Chilesotti" | Thiene | 2013-05-15 | Sistemi |
3C | 2012-2013 | ITIS "G. Chilesotti" | Thiene | 2013-05-29 | TPSIT |
3C | 2012-2013 | ITIS "G. Chilesotti" | Thiene | 2013-05-29 | Sistemi |
Compito del 16/04/2013, esercizio 1, correzione.
int n, i; int contp=0, contz=0, contn=0; int pari=0, disp=0; int crescenza = 0; int pre; printf("introdurre N\r\n"); scanf("%d", &n); for(i = 0; i < n; i++) { printf("introdurre numero %d-esimo\r\n", i); int val; scanf("%d", &val); if (val > 0) contp++; else if(val == 0) contz++; else contn++; if (val % 2 == 0) pari++; else disp++; if (i > 0) { if (val > pre) crescenza++; else if (val < pre) crescenza--; else crescenza = 0; printf("crescenza %d\r\n", crescenza); // debug pre = val; } else pre = val; } printf("numeri positivi = %d, nulli = %d, negativi = %d\r\n", contp, contz, contn); printf("numeri pari = %d, dispari = %d\r\n", pari, disp); if (crescenza == n-1) printf("crescente\r\n"); else if (crescenza == -(n-1)) printf("decrescente\r\n"); else printf("nè crescente nè decrescente\r\n");
Compito del 16/04/2013, esercizio 2, correzione senza array.
int n; int a=1,b=1,c, i; printf("introdurre N\r\n"); scanf("%d", &n); for (i = 2; i < n; i++) { c = a + b; b = a; a = c; printf("termine %d-esimo: %d\r\n", i, c); }
Compito del 16/04/2013, esercizio 2, correzione con array.
int n,i; printf("introdurre N\r\n"); scanf("%d", &n); int array[n]; array[0] = 1; array[1] = 1; for (i = 2; i < n; i++) { array[i] = array[i-1] + array[i-2]; printf("termine %d-esimo: %d\r\n", i, array[i]); }
Compito del 16/04/2013, esercizio 3, correzione.
int x = 23; int *y = &x; int *z = y; *y = 10; printf("%d\r\n", (*z)); risultato: 10
Compito del 16/04/2013, esercizio 4, correzione.
int x = 23, y =10, *p, *q; p = &x; q = &y; *p = *p + y; y = x*x; printf("%d, %d\r\n", (*p), (*q)); risultato: 33, 1089
Compito del 16/04/2013, esercizio 5, correzione.
int x = 3, y =2, *p, *q; p = &x; q = p; *p = *p + *q; y = x*x; printf("%d, %d, %d, %d\r\n", x, y, (*p), (*q)); risultato: 6, 36, 6, 6
Compito del 29/05/2013, completo con consumer.
#include <stdio.h> #include <stdlib.h> struct Movimento { float importo; char data[14]; int tipo; }; int import(char *namefile) { int iret = -1; int tipo; char dat[14]; float imp; FILE *f; if (strlen(namefile) > 0) { f = fopen(namefile, "wb"); if (f != NULL) { do { printf("introdurre tipo\r\n"); scanf("%d", &tipo); if (tipo != 0) { struct Movimento mov; mov.tipo = tipo; printf("introdurre data, formato YYYYMMDDHHNNSS\r\n"); scanf("%s", &dat); //mov.data = dat; // non funziona così il passaggio tra stringhe // si deve usare strcpy strcpy(mov.data, dat); printf("introdurre importo\r\n"); scanf("%f", &imp); mov.importo = imp; int fr = fwrite(&mov, sizeof(mov), 1, f); } } while (tipo != 0); iret = 0; } else printf("import, errore: file non aperto\r\n"); fclose(f); } return iret; } int export(char *filein, char *fileout, char *dat) { int iret = -1; if ((strlen(filein) > 0) && (strlen(fileout) > 0) && (strlen(dat) > 0)) { FILE *fin = fopen(filein, "rb"); FILE *fou = fopen(fileout, "w"); if (fin != NULL && fou != NULL) { while (!feof(fin)) { struct Movimento mov; fread(&mov, sizeof(mov), 1, fin); if (strcmp(mov.data, dat) == 0) { fprintf(fou, "%c;%f;%d\r\n", mov.data, mov.importo, mov.tipo); } } iret = 0; } fclose(fou); fclose(fin); } return iret; } int main(int argc, char** argv) { char *f; f = "mov.scp"; char *f1; f1 = "mov.csv"; char *d; d = "2013"; int ret = import(f); int ret1 = export(f, f1, d); return (EXIT_SUCCESS); }