All pastes #2099743 Raw Edit

Mine

public c v1 · immutable
#2099743 ·published 2012-01-05 19:08 UTC
rendered paste body
#include <stdio.h>#include <stdlib.h>#include <string.h>#define SIZE 200#define SIZEMARCA 200#define SIZEVECT 6000#define TRUE 1#define FALSE 0typedef struct carros{	char marca[SIZE];	char modelo[SIZE];	char versao[SIZE];	int portas;	char combustivel[SIZE];	int preco;}BaseDados;typedef BaseDados* DADOS;char *fileread(char *vect, char *base, char *first, char seg[]){	char *now;	int i;	now=strstr(first,seg);	i=(int)(now-(first+2));	puts("coisas!!");	strncpy(base,vect,i);	puts("5");	puts(base);	return(now);}int fileopen(char *filename, DADOS base){	puts("-1");	FILE *fp;	char vect[SIZE];	char seg[3]="  ";	char cast[SIZE];	char *first;	char seg2[4]=",00";	int i=0;		puts("0");	fp=fopen(filename, "r");	while(TRUE){		puts("1");		fgets(vect,5000,fp);		puts("2");		first=strstr(vect, seg);		puts("3");		first=fileread(vect,(base[i]).marca, first, seg);		puts("4");		first=fileread(vect,(base[i]).modelo, first, seg);		first=fileread(vect,(base[i]).versao, first, seg);		first=fileread(vect,cast, first, seg);		(base[i]).portas=atoi(cast);		first=fileread(vect,(base[i]).combustivel, first, seg);		first=fileread(vect,cast, first, seg2);		(base[i]).preco=atoi(cast);		if(first==(char*)EOF){			printf("End of file apos %d entradas na base de dados", i);			return(i);		}		i++;	}}void printmarcas(DADOS dados, int size){	int i;	size+1;		for(i=0;i<size;i++){		printf("%s", (dados[i]).marca);	}}void price(DADOS dados, int size){	char temp[SIZE], temp2[SIZE];	int i,comp, k, y, compara,track=0;	puts("Qual a marca do carro?");	scanf("%s", temp);	for(i=0; i<=size; i++){		comp=strcmp(dados[i].marca, temp);		if(comp==0){			puts("Qual o modelo do carro?");			scanf("%s", temp2);			for(k=0; k<=size; k++){				comp=strcmp(dados[k].marca, temp);				if(comp==0){					comp=strcmp(dados[k].modelo,temp2);						if(comp==0){							printf("%d,00 €", dados[k].preco);						}				}					}		}	}			}void main(int num, char *entrada[]){	puts("+1");	char filename[SIZE];	BaseDados dados[SIZE];	int escolha;	int size=0;	int i;		puts("-2");	if(num==2){		puts("-3");		size=fileopen(entrada[1], dados);		puts("Ficheiro lido");	}			do{		printf("Viaturas? É comigo!\n\n");		printf("0 - Sair do programa\n");		printf("1 - Ler o ficheiro de texto\n");		printf("2 - Mostrar todas as marcas\n");		printf("3 - Mostrar o preço de uma viatura\n");		printf("4 - Escrever dados num ficheiro de texto\n");		printf("Escolha uma opcao: ");			scanf(" %d", &escolha);						switch(escolha){			case 0: exit(0);			case 1:printf("Indique o nome do ficheiro a ler: ");				scanf("%s", filename);				/*if(size!=0){					while(i<=size){						free(dados[i]);					}				}*/				size=fileopen(filename, dados);				printf("Foram lidas %d entradas", size);				break;			case 2:printmarcas(dados, size);				break;			case 3:price(dados, size);				break;			}	}while(1);}