Ir ao conteúdo
  • Cadastre-se

The_Ruivo

Membro Júnior
  • Posts

    15
  • Cadastrado em

  • Última visita

Reputação

10
  1. Agora eu consegui resolver e o programa está funcionando perfeitamente, obrigado a todos que me ajudaram, se alguém quiser o código pronto, vou deixar ele aqui: #include <iostream> #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> using namespace std; typedef struct{ char nome[120]; char empresa[120]; char email[300]; char endereco[120]; int celular,fixo; }Cliente; int main(int argc, char** argv) { setlocale(LC_ALL, "Portuguese"); FILE *Dados_Cliente; Cliente Cliente; char arquivo[120]; printf("( n%co utilize espa%co, se necess%crio , use underline )\n", 198,135,160); printf("Digite o nome do arquivo a ser criado : "); scanf("%s",arquivo); /* não precisa do & pois string já é um endereço de memória */ strcat(arquivo,".txt"); /* concatenar o tipo do arquivo */ Dados_Cliente = fopen(arquivo,"a+"); /* tenta abrir o arquivo para leitura ou gravação no final dele */ if(Dados_Cliente==NULL) /* se o arquivo não existir */ Dados_Cliente = fopen(arquivo,"w"); /* w cria o arquivo e reseta ele para gravar a partir do começo dele */ printf("%s\n",arquivo); if(Dados_Cliente==NULL){ printf("Não foi possível abrir o arquivo"); return(0); } printf("Digite o nome do cliente : "); scanf("%s",Cliente.nome); fprintf(Dados_Cliente,"Cliente: %s\n" ,Cliente.nome); printf("Digite o nome da empresa do cliente: "); scanf("%s",Cliente.empresa); fprintf(Dados_Cliente,"Empresa: %s\n",Cliente.empresa); printf("Digite o e-mail de contato do cliente: "); scanf("%s",Cliente.email); fprintf(Dados_Cliente,"E-mail: %s\n",Cliente.email); printf("Digite o celular do cliente: "); scanf("%i",&Cliente.celular);/* faltou o & pois aqui é float e não string */ fprintf(Dados_Cliente,"Celular: %i\n",Cliente.celular); printf("Digite o telefone fixo do cliente: "); scanf("%i",&Cliente.fixo);/* faltou o & pois aqui é float e não string */ fprintf(Dados_Cliente,"Fixo: %i\n",Cliente.fixo); printf("Digite o endereço do cliente: "); scanf("%s",Cliente.endereco); fprintf(Dados_Cliente,"Endereço: %s\n",Cliente.endereco); fclose(Dados_Cliente); system("pause"); return 0; } adicionado 3 minutos depois @arfneto O programa que estou fazendo é para o meu pai, só para ele ter um controle dos clientes mesmo, não precisa seguir nenhuma regra nem nada, por isso vou deixar assim mesmo. Mas obrigado pela informação, não sabia disso, e se algum dia precisar disso já vou estar informado e farei de maneira mais eficiente. Obrigado pela ajuda
  2. @devair1010 Ele continuou dando erro na hora de colocar o número do cliente, o programa simplesmente fecha e dá como concluído. Não entendi por que isso está acontecendo, você acha que se eu trocar o tipo da variável pode resolver? Tipo, ao invés de float, colocar int ou double?
  3. Quando eu uso assim, o compilador fecha o programa depois que eu coloco qualquer número e não aparece nenhum erro nem nada.
  4. @devair1010 agora estou tendo o seguinte erro:warning: format ‘%f’ expects argument of type ‘float*’, but argument 2 has type ‘double’ [-Wformat=] Segue o código: #include <iostream> #include <stdio.h> #include <locale.h> #include<string.h> using namespace std; typedef struct{ char nome[120]; char empresa[120]; char email[300]; char endereco[120]; float celular,fixo; }Cliente; int main(int argc, char** argv) { setlocale(LC_ALL, "Portuguese"); FILE *Dados_Cliente; Cliente Cliente; char arquivo[120]; printf("Digite o nome do arquivo a ser criado(não utilize espaço, se necessário, use underline): "); scanf("%s",arquivo); /* não precisa do & pois string já é um endereço de memória */ strcat(arquivo,".txt"); /* concatenar o tipo do arquivo */ Dados_Cliente = fopen(arquivo,"w"); /* w cria o arquivo e reseta ela para gravar a partir do começo dele */ if(Dados_Cliente==NULL){ printf("Não foi possível abrir o arquivo"); return(0); } printf("Digite o nome do cliente : "); scanf("%s",Cliente.nome); fprintf(Dados_Cliente,"Cliente: %s\n" ,Cliente.nome); printf("Digite o nome da empresa do cliente: "); scanf("%s",Cliente.empresa); fprintf(Dados_Cliente,"Empresa: %s\n",Cliente.empresa); printf("Digite o e-mail de contato do cliente: "); scanf("%s",Cliente.email); fprintf(Dados_Cliente,"E-mail: %s\n",Cliente.email); printf("Digite o celular do cliente: "); scanf("%f",Cliente.celular); fprintf(Dados_Cliente,"Celular: %f\n",Cliente.celular); printf("Digite o telefone fixo do cliente: "); scanf("%f",Cliente.fixo); fprintf(Dados_Cliente,"Fixo: %f\n",Cliente.fixo); printf("Digite o endereço do cliente: "); scanf("%s",Cliente.endereco); fprintf(Dados_Cliente,"Endereço: %s\n",Cliente.endereco); fclose(Dados_Cliente); system("pause"); return 0; }
  5. @devair1010 A linguagem que eu estou programando é C++ mesmo, e o código que você me mandou funcionou, eu só tive que adicionar a biblioteca string.h que funcionou normalmente, obrigado!!
  6. #include <iostream> #include<stdio.h> #include<locale.h> using namespace std; typedef struct { char nome[120]; char empresa[120]; char email[300]; char endereco[120]; int celular,fixo; }Cliente; int main(int argc, char** argv) { setlocale(LC_ALL, "Portuguese"); FILE *Dados_Cliente; Cliente Cliente; char arquivo[120]; printf("Digite o nome do arquivo a ser criado: "); scanf("%s",&arquivo); Dados_Cliente = fopen(arquivo,"wt"); if(Dados_Cliente==NULL) { printf("Não foi possível abrir o arquivo"); return(0); } printf("Digite o nome do cliente: "); scanf("%c",&Cliente.nome); fprintf(arquivo,"Nome do cliente: ",Cliente.nome); fclose(Dados_Cliente); return 0; } Estou tentando fazer um programa em C++ para que a pessoa possa colocar todos os dados do cliente dela e ele seja impresso em um arquivo ".txt" só que eu estou tendo um problema na linha 40, onde o compilador dá a seguinte mensagem: "[Error] cannot convert 'char*' t". Não sei como resolver isso, e já até procurei em alguns fóruns, mas nenhum me deu uma solução concreta.
  7. No compilador online foi!! Vou testar com outros compiladores também, obrigado
  8. @Luís Roberto C. da Silva Qual compilador você usa? Gostei da aparência dele
  9. @Luís Roberto C. da Silva Sim adicionado 0 minutos depois #include <iostream> #include <stdlib.h> #include <stdio.h> #include<locale.h> using namespace std; typedef struct { int dia,mes,ano; }Data; Data leData() { Data date; printf("Digite o dia: "); scanf("%i",&date.dia); printf("Digite o mês: "); scanf("%i",&date.mes); printf("Digite o ano: "); scanf("%i",&date.ano); return date; } void imprimeData() { Data Data; cout<<Data.dia; cout<<"/"; cout<<Data.mes; cout<<"/"; cout<<Data.ano; cout<<"/"; } int main(int argc, char** argv) { setlocale(LC_ALL, "Portuguese"); Data date; date=leData(); imprimeData(); system("pause"); return 0; } Ele está assim adicionado 1 minuto depois
  10. @Luís Roberto C. da Silva Quais números você digitou, só para ter certeza que eu não estou fazendo ***** aqui
  11. @Luís Roberto C. da Silva Não funcionou Quando eu executei ele mostrou números aleatórios na tela ;-;
  12. @Luís Roberto C. da Silva Quando eu faço isso, ele fala que tem poucos argumentos, então eu coloquei a struct "date" entre os parenteses, mas quando eu executo ele não funciona
  13. Quando tento compilar o código abaixo, ela mostra o seguinte erro: Conversion from 'Data(Data)' to non-scalar type 'Data' requested Esse erro ocorre na linha 34 (date=leData;) Alguém pode me ajudar a resolver isso urgentemente?! #include <iostream> #include <stdlib.h> #include <stdio.h> #include<locale.h> using namespace std; typedef struct { int dia,mes,ano; }Data; Data leData(Data) { Data date; printf("Digite o dia: "); scanf("%i",&date.dia); printf("Digite o mês: "); scanf("%i",&date.mes); printf("Digite o ano: "); scanf("%i",&date.ano); return date; } void imprimeData(Data) { Data Data; cout<<Data.dia; cout<<"/"; cout<<Data.mes; cout<<"/"; cout<<Data.ano; cout<<"/"; } int main(int argc, char** argv) { setlocale(LC_ALL, "Portuguese"); Data date; date=leData; imprimeData; system("pause"); return 0; }
  14. Este é um exercício que estou fazendo sobre structs e funções, só que ele dá erro nas linhas: 13,15,17 e 23 Nas linhas 13,15 e 17, ele dá a seguinte mensagem: Expected primary-expression before '.' token Já na linha 23 é a seguinte mensagem: no match for 'operator=' (operand types are 'Data {aka data}' and 'data(Data) {aka data(data)}') #include <iostream> #include <stdlib.h> #include <stdio.h> #include<locale.h> using namespace std; typedef struct { int dia,mes,ano; }Data; Data leData(Data) { printf("Digite o dia: "); scanf("%i",&Data.dia); printf("Digite o mês: "); scanf("%i",&Data.mes); printf("Digite o ano: "); scanf("%i",&Data.ano); return Data; } int main(int argc, char** argv) { setlocale(LC_ALL, "Portuguese"); Data Data; Data=leData; system("pause"); return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...