| 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 | TPSIT |
| 3C | 2012-2013 | ITIS "G. Chilesotti" | Thiene | 2012-12-12 | Sistemi |
| 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 | Sistemi |
| 3C | 2012-2013 | ITIS "G. Chilesotti" | Thiene | 2013-05-29 | TPSIT |
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);
}