Pesquisar na Comunidade
Mostrando resultados para as tags ''scanf''.
Encontrado 8 registros
-
#include <stdio.h> #include <stdlib.h> #include <locale.h> #define const 5 struct cadastro{ int cod; char autordaobra[50]; char obra[50]; char editora[50]; }; int i, j, cad, opcao; struct cadastro livro[const]; void mostrar() { if(i != 0) { for(j=0; j<i; j++){ printf ("Código: %d\n", livro.cod); printf ("Autor da obra: %s\n",livro.autordaobra); printf ("Obra: %s\n", livro.obra); printf ("Editora: %s\n\n",livro.editora); } } else printf("Lista vazia!\n"); } void cadastro(){ if (i <const){ system("cls"); printf("1 – Inserir um novo cadastro\n"); printf("2 – Mostrar todos os cadastros\n"); printf("0 – Encerrar\n"); fflush(stdin); livro.cod = i+1; fflush(stdin); printf("Insira o nome do autor da obra %d:\n", i+1); fflush(stdin); gets(livro.autordaobra); fflush(stdin); printf("Insira o nome da obra %d:\n", i+1); gets(livro.obra); fflush(stdin); printf("Insira o nome da editora %d:\n", i+1); gets(livro.editora); fflush(stdin); system("cls"); printf("1 – Inserir um novo cadastro\n"); printf("2 – Mostrar todos os cadastros\n"); printf("0 – Encerrar\n"); i = i+1; } else printf("Sistema de cadastro lotado. Não é possível armazenar mais informações!\n"); } int main(int argc, char *argv[]) { setlocale(LC_ALL, "Portuguese"); printf("1 – Inserir um novo cadastro\n"); printf("2 – Mostrar todos os cadastros\n"); printf("0 – Encerrar\n"); i = 0; opcao = 0; do{ while(!scanf ("%d", &opcao)) { while(getchar() != '\n'); printf("Erro: opção inválida!\n"); } if (opcao > 2) {printf("Erro: opção inválida!\n"); } else switch(opcao) { case 1: cadastro(); break; case 2: mostrar(); break; } }while(opcao != 0); return 0; }
- 1 resposta
-
- linguagem c
- struct
-
(e %d mais)
Tags:
-
void ListarCadCliente() { FILE* arquivo; arquivo = fopen("cadUser.txt","r"); char nome[120], endereco[200], telefone[20], email[120], cpf[20], rg[20]; arquivo = fopen("cadUser.txt","r"); // abrir arquivo em modo leitura while(!feof(arquivo)) { //Se o nome tem espaços ele não continua a leitura do documento e entende que a cada espaço tem uma variável a ser atribuída// fscanf(arquivo,"%s %s %s %s %s %s\n", nome, endereco, email, telefone, cpf, rg); // acessar os dados printf(" Nome: %s / Endereço: %s \n E-mail: %s / Telefone: %s / CPF: %s / RG: %s\n\n",nome, endereco, email, telefone, cpf, rg); // exibir na tela } } } fclose(arquivo); // FECHAR O ARQUIVO printf(" Fim da listagem!"); getch(); } No print abaixo eu tenho 2 situações 1* Se eu escrever os nomes todos juntos ele le certinho, porém não posso deixar o programa assim, pois preciso digitar o endereço da pessoa. 2*Se eu criar um arquivo onde os dados são separados por virgula e os nomes estão escritos normalmente utilizando espaços pra escrever, o programa entende que a cada espaço tem uma variável a ser atribuída um valor... Problema:Como faço pra ler uma string toda e parar na vingula e a próxima da mesma maneira... sempre entendendo que o final da string é a virgula?
-
Bom Dia. Sou iniciante em C. Comecei fazendo um exercício de vetores ondepede para preencher um vetor de 5 posições e depois apresentar a soma e a multiplicação dos valores armazenados no vetor. O problema é que está aparecendo a soma e a multiplicação em cada laço e não somente o resultado final. Como consigo fazer aparecer só o resultado final das 2 operações? #include <stdio.h> #include<stdlib.h> int main(int argc, char** argv) { int i , vetor[5] ,soma=0 , mult=1 ; for(i=0; i<5; i++) { // recebendo informações do usuário printf("\nDigite um valor inteiro: "); scanf("%d", &vetor); } for(i=0; i<5; i++) { // SOMA soma= soma+ vetor; printf("\n\n Soma dos numeros é: %d", soma); if (soma > 0) { printf("\n\nO valor da soma é positivo."); } else { printf("\n\nO valor da soma é negativo."); } } for(i=0; i<5; i++) { // MULTIPLICACAO mult= mult * vetor; printf("\n\n Multiplicacao dos numeros é : %d", mult ) ; if (mult > 0) { printf("\n\nO valor da Multiplicacao é positivo."); } else { printf("\n\nO valor da Multiplicacao é negativo."); } } return 0; }
-
Olá galera, esse é o meu primeiro post, sou novo em programação e neste fórum. Peço desculpas se a pergunta é muito básica para os usuários de nível avançado. Sou novo em programação e C é minha primeira linguagem na qual comecei a desenvolver. Tenho uma proposta de trabalho e gostaria de uma ajuda para resolver um problema quando estou executando. O programa está rodando beleza, mas durante a execução na entrada do primeiro struct o programa pede 4 entradas, ao invés de 3 (nome, matricula, e media). Poderiam me ajudar a tirar essa entrada extra? Desde já agradeço a atenção. #include<stdio.h> #include<string.h> struct aluno{//define tipo de dados da estrutura aluno char str1[100]; int matricula; int media; }; int main (void) { void receberCadastro(struct aluno lista[5]);//chamada da função receberCadastro de Alunos void printfCadastro(struct aluno lista[5]);//chamada da função printfCadastro de Alunos struct aluno listaCadastro[5]; receberCadastro(listaCadastro); printfCadastro(listaCadastro); system("pause"); return 0; } void receberCadastro (struct aluno lista [5]){//define entrada de dados para a estrutura int i; for (i = 0; i < 5; ++i) { printf("%i aluno\n nome\n matricula\n media\n ", i + 1); scanf("%s\n %i\n %i\n", &lista.str1, &lista.matricula, &lista.media); } } void printfCadastro(struct aluno lista[5]){//define a saída de dados da estrutura int i; for ( i = 0; i < 5; ++i){ printf("Aluno %i\n Nome = %s\n Matricula = %i\n Media = %i\n", i + 1, lista.str1, lista.matricula, lista.media); } }
-
Olá galera, "*********(&)", gostaria de saber se alguém ai pode me informar o que significa isso: scanf("\n%c", &item); Desde já agradeço *& - Temos que criar uma saudação que independa do horário. Não acham?
-
Galera, tenho uma dúvida na quebra de linha junto com scanf e printf. eu quero que fique assim SINAL: __ COEFICIENTE: ___ E ASSIM SUCESSIVAMENTE DENTRO DO LOOP. Desde já, agradeço. COMO EU QUERO COMO O ESTÁ A PERCEBAM QUE O PRIMEIRO SCANF ("%c", &sinal); não funcionou. O CÓDIGO Percebam que o primeiro scanf do SINAL NÃO FUNCIONOU.
-
Boa noite galera, estou fazer um codigo basico pra ler e mostrar nomes. Com vetor, e dois loops. Porem na hora de armazenar a variável algum erro está dando, ela pega os caracteres da primeira... vejam o código... #include<stdio.h> #include<stdlib.h> #include<conio.h> main() { char nome[10]; int cont=0, cont1=0; for(cont=0; cont<=9; cont++) { printf("Informe o nome do aluno: "); scanf("%s", &nome[cont]); <-- No caso aqui queria que armazenasse usando o contador, isso é possível? Ps: Se eu não usar o "&" ele da erro mesmo sendo uma string system("cls"); } for(cont1 = 0; cont1 <= 9; cont1 ++) { printf("\nO nome informado e: %s", &nome[cont1]); } system("pause"); } Sou leigo em C, aprendendo sozinho. Alguém pode me ajudar?
-
Galera eu preciso fazer o seguinte: ler dois números C e N na mesma linha, ate ai tranquilo. Na próxima linha ler N numeros separados por um espaço. Ex: 12 3 2 8 11 minha dúvida é como colocar esses valores em um vetor.