fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct storage{
  6. char isbn[18];
  7. int vendite;
  8. int acquisti;
  9. int data;
  10. }libr[100];
  11.  
  12. int main(int argc,char *argv[])
  13. {
  14.  
  15. FILE *f;
  16. char isbn[18],data[11],acq_vendita,str[100],isbn_max=0,isbn_min=0;
  17. int n_copie=0,i,copie_vendute=0,gg=0,mm,yyyy=0,settembre=0,ottobre=0,novembre=0,dicembre=0,v_max,flag=0,j;
  18. float prezzo=0;
  19.  
  20.  
  21. if(argc!=2){
  22. printf("errore inserimento parametri");
  23. return 1;
  24. }
  25.  
  26. if((f=fopen(argv[1],"r"))==NULL){
  27. fprintf(stderr,"errore apertura file");
  28. return 2;
  29. }
  30.  
  31. while(fgets(str,100,f)!=NULL){
  32. sscanf(str,"%s %s %s %d %f", isbn, acq_vendita, data, &n_copie, &prezzo);
  33.  
  34. i=0;
  35. for(j=0;j<100;j++){
  36. if((strcmp(isbn,libr[i].isbn))== 0){
  37. if(acq_vendita=='V')
  38.  
  39.  
  40.  
  41. n_copie++;
  42. }
  43. }
  44. printf("Copie in magazzino %d , copie vendute %d",
  45. n_copie,copie_vendute);
  46.  
  47. }
  48.  
  49. if(acq_vendita=='V'){
  50. sscanf(data,"%*d%d%*d",&mm);
  51. switch (mm)
  52. case 9:
  53. settembre+=n_copie;
  54. break;
  55.  
  56. case 10:
  57. ottobre+=n_copie;
  58. break;
  59.  
  60. case 11:
  61. novembre+=n_copie;
  62. break;
  63.  
  64. case 12:
  65. dicembre+=n_copie;
  66. break;
  67.  
  68. default:
  69. printf("Il mese inserito non coincide col periodo vendita\n");
  70. printf("Inserisci un altro mese");
  71. }
  72. }
  73.  
  74. printf("Le copie vendute a settembre sono %d",settembre);
  75. printf("Le copie vendute a ottobre sono %d",ottobre);
  76. printf("Le copie vendute a novembre sono %d",novembre);
  77. printf("Le copie vendute a dicembre sono %d",dicembre);
  78.  
  79.  
  80. for(i=0;i<100;i++){
  81. if(libr[i].vendite>v_max){
  82. v_max=libr[i].vendite;
  83. j=i;
  84. }
  85. printf("isbn associato %s",libr[i].isbn);
  86.  
  87. }
  88. }
  89. printf("Numero di copie vendute per l'isbn %s e': %d",libr[i].isbn,v_max);
  90. return 0;
  91. }
  92.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.c: In function ‘main’:
prog.c:32:9: warning: format ‘%s’ expects argument of type ‘char *’, but argument 4 has type ‘int’ [-Wformat]
prog.c:36:13: error: expected expression before ‘libr’
prog.c:36:13: error: expected expression before ‘libr’
prog.c:36:13: error: expected ‘)’ before ‘.’ token
prog.c:36:13: error: cast specifies array type
prog.c:36:13: error: expected ‘)’ before ‘.’ token
prog.c:36:13: error: expected expression before ‘==’ token
prog.c:36:13: warning: left-hand operand of comma expression has no effect [-Wunused-value]
prog.c:36:13: error: expected expression before ‘libr’
prog.c:36:13: error: expected expression before ‘libr’
prog.c:36:13: error: expected ‘)’ before ‘.’ token
prog.c:36:13: error: cast specifies array type
prog.c:36:13: error: expected ‘)’ before ‘.’ token
prog.c:36:13: error: expected expression before ‘==’ token
prog.c:36:13: error: expected expression before ‘libr’
prog.c:36:13: error: expected ‘)’ before ‘.’ token
prog.c:36:13: error: expected expression before ‘;’ token
prog.c:36:13: error: expected expression before ‘libr’
prog.c:36:13: error: expected ‘)’ before ‘.’ token
prog.c:36:13: error: cast specifies array type
prog.c:36:13: error: expected ‘)’ before ‘.’ token
prog.c:36:13: error: expected expression before ‘==’ token
prog.c:36:13: error: expected expression before ‘libr’
prog.c:36:13: warning: left-hand operand of comma expression has no effect [-Wunused-value]
prog.c:36:13: error: expected expression before ‘libr’
prog.c:36:13: error: expected ‘)’ before ‘.’ token
prog.c:36:13: error: expected expression before ‘)’ token
prog.c:36:13: error: expected ‘)’ before ‘.’ token
prog.c:36:13: error: expected expression before ‘)’ token
prog.c:36:13: error: expected ‘)’ before ‘.’ token
prog.c:36:13: error: expected expression before ‘)’ token
prog.c:36:13: error: expected ‘)’ before ‘.’ token
prog.c:36:13: error: expected expression before ‘)’ token
prog.c:36:13: error: expected expression before ‘libr’
prog.c:54:21: error: break statement not within loop or switch
prog.c:56:13: error: case label not within a switch statement
prog.c:58:21: error: break statement not within loop or switch
prog.c:60:13: error: case label not within a switch statement
prog.c:62:21: error: break statement not within loop or switch
prog.c:64:13: error: case label not within a switch statement
prog.c:66:21: error: break statement not within loop or switch
prog.c:68:13: error: ‘default’ label not within a switch statement
prog.c:17:102: warning: unused variable ‘flag’ [-Wunused-variable]
prog.c:17:96: warning: unused variable ‘v_max’ [-Wunused-variable]
prog.c:17:45: warning: unused variable ‘yyyy’ [-Wunused-variable]
prog.c:17:37: warning: unused variable ‘gg’ [-Wunused-variable]
prog.c:16:60: warning: unused variable ‘isbn_min’ [-Wunused-variable]
prog.c:16:49: warning: unused variable ‘isbn_max’ [-Wunused-variable]
prog.c: At top level:
prog.c:74:12: error: expected declaration specifiers or ‘...’ before string constant
prog.c:74:51: error: unknown type name ‘settembre’
prog.c:75:12: error: expected declaration specifiers or ‘...’ before string constant
prog.c:75:49: error: unknown type name ‘ottobre’
prog.c:76:12: error: expected declaration specifiers or ‘...’ before string constant
prog.c:76:50: error: unknown type name ‘novembre’
prog.c:77:12: error: expected declaration specifiers or ‘...’ before string constant
prog.c:77:50: error: unknown type name ‘dicembre’
prog.c:80:5: error: expected identifier or ‘(’ before ‘for’
prog.c:80:14: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘<’ token
prog.c:80:20: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘++’ token
prog.c:88:1: error: expected identifier or ‘(’ before ‘}’ token
prog.c:89:8: error: expected declaration specifiers or ‘...’ before string constant
prog.c:89:60: error: ‘i’ undeclared here (not in a function)
prog.c:89:62: error: expected ‘;’, ‘,’ or ‘)’ before ‘.’ token
prog.c:90:5: error: expected identifier or ‘(’ before ‘return’
prog.c:91:1: error: expected identifier or ‘(’ before ‘}’ token
prog.c: In function ‘main’:
prog.c:72:4: warning: control reaches end of non-void function [-Wreturn-type]
stdout
Standard output is empty