Falcomer 0 Denunciar post Postado Outubro 26, 2007 Pessoal to fazendo um projeto final, é sobre cadastrar uma concessionaria. Estou usando funções, e quero saber como faço pra cadastrar uma matriz dentro de uma função, e depois utilizar a matriz para mostrar os cadastros. ta ai o projeto final: quero usar a função de cadastramento de carros, para usar o cadastro nas outras funções! agradeço desde já a ajuda! http://forum.imasters.com.br/public/style_emoticons/default/grin.gif // declaração de bibliotecas #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <string.h> int main (void) //função principal. { int op,i=0; char buscacarro(); //função que procura o carro desejado pelo cliente char cadastracarro(); //função que adiciona carro a lista de carros da loja char topo(); //mostra o cabeçalho do programa char listacarro(); //lista todos os carros da loja com preço,modelo,ano,cor. char excluicarro(); //exclui um carro da lista da concessionaria do { topo(); //chama a função topo, e mostra o primeiro menu printf("1 - Para inserir um carro da lista. \n"); printf("2 - Para excluir um carro da lista.\n"); printf("3 - Para mostrar a lista de carros.\n"); printf("4 - Para buscar um carro para o cliente.\n"); printf("5 - Para Sair do programa.\n\n"); printf("Digite o numero desejado: \n"); scanf("%d", &op); // aqui são chamada as funções do menu. switch(op){ case 1: cadastracarro(); break; case 2: excluicarro(); break; case 3: listacarro(); break; case 4: buscacarro(); break; case 5: printf("Saindo do programa...\n"); break; default: system("cls"); printf("Opção invalida.\a\n"); } system("pause"); } while (op != 5); return 0; } char topo() // codigo da função topo { system("cls"); printf(" °°°°°° °°°°°° °°°°°° °° |by Diogo & Luan & Paulo|\n"); printf(" °° °° °° °° °° \n"); printf(" °° °° °° °° °° °°\n"); printf(" °° °° °° °° °° °° \n"); printf(" °° °° °° °° °° °° \n"); printf(" °° °° °° °° °°°°°°°°°° \n"); printf(" °° °° °° °° °° °° °° \n"); printf(" °°°°°°°°°°°° °°°°°° °°°°° °°°°°° °°°°°°\n\n"); } //função de cadastro dos carros char cadastracarro() { int i=0; char cont; char carcor [10][21],carano[10][16],carnome[10][21];//matriz q cadastra os carros do{ topo(); printf("\nInsira o nome do Carro que deseja cadastrar: \n"); scanf("%s", carnome); printf("\nInsira a cor do carro cadastrado: \n"); scanf("%s", carcor); printf("\nInsira o ano do carro cadastrado: \n"); scanf("%s", carano); ++i; system("cls"); }while(i<1); } char buscacarro() { } char listacarro() { topo(); } char excluicarro() { topo(); } Compartilhar este post Link para o post Compartilhar em outros sites
Myho 2 Denunciar post Postado Outubro 26, 2007 Bom, se você declara a a matriz dentro da função, creio q ela soh pode ser acessada dentro da propria função. Talvez você devesse criar uma struct para todos os dados do carro, e declarar ela no main. Ah nao ser q você salve os dados coletados na matriz em um arquivo e depois leia desse arquivo, mas nao acho q seja a melhor maneira.Bah, sempre enrolo nas respostas, o q eu acho é q se você pretende usar os dados em mais de uma função, seria melhor declarar a matriz dentro do main e passar ela para as funções. Compartilhar este post Link para o post Compartilhar em outros sites
Falcomer 0 Denunciar post Postado Outubro 26, 2007 bom... vo da uma lida em struct( so noob ainda em c) quando fiz um programa em portugol, usei a matriz fora mesmo e deu certo. Em C como passo as matrizes de char para dentro da função e depois retiro elas? Compartilhar este post Link para o post Compartilhar em outros sites
Myho 2 Denunciar post Postado Outubro 27, 2007 No caso, quando você passa uma matriz como parametro para uma função, você esta passando ela por referencia automaticamente, ou seja, qualquer dado alterado na função estara alterando a matriz passada, sem necessidade de retorno. http://www.di.ufpb.br/liliane/aulas/estruturas.html http://www.ic.unicamp.br/~vanini/inf512/aula3_1.html Esses dois links da pra te ideia do q é struct, mas se nao aprendeu isso, nem esquenta, provavelmente seu professor não exigira no codigo (se bem q "projeto final" deveria ser algo fodastico). Compartilhar este post Link para o post Compartilhar em outros sites
Falcomer 0 Denunciar post Postado Outubro 27, 2007 agora eu entendi! então a matriz passada é alterada direto, não precisa de retorno! nossa essa duvida tava me matando!rs dei uma lida em estruturas, eu tenho o c completo e total tbm li nele e pode ser melhor de usar varias matrizes. bom, é projeto final so da materia, tenho C ainda no outro semestre. Ele exigi um pouco mas, mas ele é meio fascinado em matematica e usa 99% dos exemplos com numeros, ai quando tentei usar char fiquei bem confuso! vlw pela ajuda cara, vo da uma estudada, qualquer outra duvida apareço ai dinovo! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites