Você está na página 1de 2

Gerador de programa em linguagem c

#include <stdio.h> #include <stdlib.h> #define MAXCAMPOS 1 struct dados { char Tipo[11]; char Nome[51]; int Tamanho; }; typedef struct dados Dados;

int main() { //Declaraes de variaveis char NomeArquivo[51]; char Titulo[51]; int QtdeCampo = 0; int i; Dados d[MAXCAMPOS]; printf("\nDIGITE O NOME DO ARQUIVO : "); scanf("%s",NomeArquivo); printf("\nTUTULO : "); scanf("%s",Titulo); do { printf("\nDIGITE O TIPO : "); scanf("%s",d[QtdeCampo].Tipo); if(strcmp(d[QtdeCampo].Tipo,"char") == 0) { printf("\nDIGITE O TAMAHO : "); scanf("%d",&d[QtdeCampo].Tamanho); } else d[QtdeCampo].Tamanho = 0; printf("\nDIGITE O NOME : "); scanf("%s",d[QtdeCampo].Nome); QtdeCampo ++; } while(QtdeCampo < MAXCAMPOS);

FILE *fp;

fp = fopen(NomeArquivo,"w"); fprintf(fp,"# include <stdio.h>\n"); fprintf(fp,"# include <stdlib.h>\n\n"); fprintf(fp,"struct dados\n"); fprintf(fp,"{\n"); for(i=0; i<QtdeCampo; i++) { fprintf(fp,"\t%s %s",d[i].Tipo,d[i].Nome); if(strcmp(d[i].Tipo,"char") == 0){ fprintf(fp,"[%d]",d[i].Tamanho);} } fprintf(fp,";\n};"); fprintf(fp,"\ntypedef struct dados Dados;\n\n"); fprintf(fp,"int main()\n{\n"); fprintf(fp,"\tDados d;\n"); for(i=0; i<QtdeCampo; i++) { fprintf(fp,"\tprintf(\"\\nDIGITE %s : \");\n",d[i].Nome); fprintf(fp,"\tscanf(\"%"); if(strcmp(d[i].Tipo,"char") == 0) { fprintf(fp,"s"); fprintf(fp,"\",d.%s);\n",d[i].Nome); } else if(strcmp(d[i].Tipo,"int") == 0) { fprintf(fp,"d"); fprintf(fp,"\",&d.%s);\n",d[i].Nome); } else { fprintf(fp,"f"); fprintf(fp,"\",&d.%s);\n",d[i].Nome); } fprintf(fp,"\",&d.%s);\n",d[i].Nome); } fprintf(fp,"\n\tsystem(\"PAUSE\");"); fprintf(fp,"\n\treturn 0;"); return 0; }