
Ervilha
Membros-
Total de itens
16 -
Registro em
-
Última visita
Sobre Ervilha

Ervilha's Achievements
0
Reputação
-
Fiz esse programinha para criar e ler em arquivos de texto, Ele cria normal, mas na hora de ler, ele mostra certinho na tela, mas da um erro depois. alguém sabe o que pode ser? // Teste.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct _Contato { int codigo; char nome[30]; char email[100]; } Contato; int main() { // Cria ponteiro para arquivo FILE *agenda; // Cria nova variavel do tipo Contato Contato addcont; // Variavel temporaria para gravar uma linha no arquivo char temp[4096]; int ctrl; // Inicia o Menu ctrl = 0; while (ctrl != 3) { system("cls"); printf("\n AGENDA TELEFONICA"); printf("\n\n 1 - Inserir na lista"); printf("\n 2 - Ler da lista"); printf("\n 3 - Sair"); printf("\n\n ==> "); scanf("%d",&ctrl); system("cls"); // Incluir if (ctrl==1) { // Inicia os valores addcont.codigo = 1; fflush(stdin); printf(" Entre com o nome: "); gets(addcont.nome); fflush(stdin); printf(" Entre com o e-mail: "); gets(addcont.email); // Abre novo arquivo para operacoes de escrita e gravacao (a+) // Caso o arquivo não exista ele cria, caso ele exista // As gravacoes serao concatenadas no final do arquivo agenda = fopen("agenda.txt", "a+"); // Importante: Testar se o ponteiro foi criado if (!agenda) { printf("Erro: não foi possivel abrir/criar o arquivo\n"); exit(0); } // Monta a linha para gravar no arquivo; sprintf(temp, "%d;%s;%s\r\n", addcont.codigo, addcont.nome, addcont.email); // Faz a gravacao dos dados no arquivo no formato CSV (Separado por ";") fputs(temp, agenda); // Fecha ponteiro do arquivo e evita que dados sejam corrompidos fclose(agenda); } // Ler if (ctrl==2) { // Abre novo arquivo para leitura (r = read) agenda = fopen("agenda.txt", "r"); // Importante: Testar se o ponteiro foi criado if (!agenda) { printf("Erro: não foi possivel abrir o arquivo\n"); exit(0); } // Enquanto o final do arquivo não chega... fica no loop while (!feof(agenda)) { // O fgets le uma linha de tamanho 4096 e armazena no temp // do ponteiro de arquivo agenda fgets(temp, 4096, agenda); // A funcao atoi converte uma string passada para inteiro // A funcao strtok divide uma string em tokens (partes) // Obs.: Apenas passar a string para o strtok na primeira chamada // as outras devem ter NULL ate q a string inteira seja dividida addcont.codigo = atoi(strtok(temp, ";\r\n")); strcpy(addcont.nome, strtok(NULL, ";\r\n")); strcpy(addcont.email, strtok(NULL, ";\r\n")); printf("| %3d | %30s | %30s |\n", addcont.codigo, addcont.nome, addcont.email); } // Fecha ponteiro do arquivo e evita que dados sejam corrompidos fclose(agenda); system("pause"); } } //return 0; }
-
alguém pode dr um help ae?
-
Fiz um programa de agenda com as seguintes opções... (1) -> Inserir Novo Cadastro: (2) -> Excluir um Cadastro: (3) -> Pesquisar um Cadastro: (4) -> Listar Todos os Cadastros: (0) -> Para Sair Tudo funciona certinho, usando Struct, Função, Ponteiros, numa Lista Duplamente Encadeada. Agora eu estava querendo colocar duas novas funções... (5) -> Gravar no Arquivo: (6) -> Ler do Arquivo A idéia é, usar o programa na memória, e quando eu apertar ele gravar em um arquivo txt ou binário tanto faz. Para quando eu abrir o programa de novo apenas apertar para ler e ele jogar tudo na memória de novo. Como gravar direto quando eu for inserindo eu sei, mas queria fazer desse jeito. Se alguém puder me dar uma mão, estou postando o código abaixo. // Projeto_Veiculos.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "tool.h" #include <dos.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> #include <iostream> /* ---------------------------------------------------------------- */ struct _no // define a estrutura do processo { struct _no *anterior; char nome[40], rua[100], bairro[50], cidade[50], estado[10], cep[15], telefone[15]; struct _no *proximo; }; /* ---------------------------------------------------------------- */ typedef struct _no No; No *Raiz=NULL; // define um ponteiro para o numero raiz No *Ultimo=NULL; // define um ponteiro para o ultimo numero /* ---------------------------------------------------------------- */ void Insere(char *nome, char *rua, char *bairro, char *cidade, char *estado, char *cep, char *telefone) { No *Atual; No *NoAnterior; No *NoPosterior; No *NovoNo; if (Raiz==NULL) // Verifica se o nó na raiz é nulo, que é o caso quando a lista está vazia. { // Se for, cria nó na raiz com os dados fornecidos e faz o último nó coincidir com ele. Raiz = new No; strcpy (Raiz->nome,nome); strcpy (Raiz->rua,rua); strcpy (Raiz->bairro,bairro); strcpy (Raiz->cidade,cidade); strcpy (Raiz->estado,estado); strcpy (Raiz->cep,cep); strcpy (Raiz->telefone,telefone); Raiz->proximo = NULL; Raiz->anterior = NULL; Ultimo = Raiz; } else { NoAnterior = NULL; // se já houver raiz percorre a lista duplamente encadeada, comecando da raiz. Atual = Raiz; // inicialmente, não há nó anterior. while (Atual!=NULL) { if (strcmp(Atual->nome,nome)>=0) { break; // verifica se o nó atual é igual, se for superior pára } else { NoAnterior = Atual; Atual = Atual->proximo; } } if (Atual!=NULL) // só faz a comparação abaixo se existe o nó Atual { if (strcmp(Atual->nome,nome)==0) { printf ("\n\n Nome já existente!\n"); printf ("\n\n\n\n "); system("pause"); system("cls"); return; } NoPosterior = Atual; // insere um novo nó entre o nó atual e o nó anterior NovoNo = new No; // aloca memória para o novo nó strcpy (NovoNo->nome,nome); // coloca dados no nó a ser inserido strcpy (NovoNo->rua,rua); strcpy (NovoNo->bairro,bairro); strcpy (NovoNo->cidade,cidade); strcpy (NovoNo->estado,estado); strcpy (NovoNo->cep,cep); strcpy (NovoNo->telefone,telefone); NovoNo->proximo = NoPosterior; // atualiza ponteiros do novo nó NovoNo->anterior = NoAnterior; if (NoAnterior != NULL) // atualiza ponteiros dos nós vizinhos { NoAnterior->proximo = NovoNo; } if (NoPosterior != NULL) { NoPosterior->anterior = NovoNo; } if (NovoNo->anterior == NULL) // verifica se o novo nó foi inserido no início ou no fim da lista se foi, { // atualiza referências Raiz = NovoNo; } if (NovoNo->proximo == NULL) { Ultimo = NovoNo; } } } } /* ---------------------------------------------------------------- */ void Lista() { int ciclos; No *Atual; Atual = Raiz; ciclos=1; while(Atual!=NULL) // percorre a lista duplamente encadeada desde a raiz { system("cls"); printf("\n\n Reg. N: %d",ciclos); printf("\n Nome: %s\n Rua: %s\n Bairro: %s\n Cidade: %s\n Estado: %s\n CEP: %s\n Telefone: %s\n",Atual->nome,Atual->rua,Atual->bairro,Atual->cidade,Atual->estado,Atual->cep,Atual->telefone); Atual=Atual->proximo; ciclos++; } printf ("\n\n\n\n "); system("pause"); system("cls"); } /* ---------------------------------------------------------------- */ void Deleta(char *nome) { No *Atual; No *Anterior=NULL; No *Posterior; Atual = Raiz; while (Atual!=NULL) // primeiro, percorre a lista duplamente encadeada desde a raiz { if (strcmp(Atual->nome,nome)>=0) // verifica se já encontrei ou já passei do nome procurado { break; } else // se ainda não passou { Anterior = Atual; Atual = Atual->proximo; } } if (Atual!=NULL) Posterior = Atual->proximo; if (Atual != NULL) // verifica se o nó atual é mesmo o nó procurado if (strcmp(Atual->nome,nome)==0) // se for, deleta faz com que o nó subsequente ao atual seja o subsequente ao nó anterior para manter a integridade da lista { if (Atual != Raiz) { Anterior->proximo = Atual->proximo; } else // se o no atual é a raiz, atualizo a referência para a raiz { Raiz = Atual->proximo; } if (Atual != Ultimo) // faz com que a referência para o nó anterior do próximo nó seja { // o nó anterior ao que será deletado, para manter a integridade Posterior->anterior = Anterior; } else // se o nó atual é o último, atualiza a referência para o último { Ultimo = Anterior; } free(Atual); // agora, o nó atual morreeeee!!!! printf ("\n\n Nome deletado! \n\n"); printf ("\n\n "); system("pause"); system("cls"); return; } printf("\n\n não achei!\n"); printf ("\n\n\n\n "); system("pause"); system("cls"); } /* ---------------------------------------------------------------- */ void Pesquiza(char *nome) { No *Atual; Atual = Raiz; while (Atual!=NULL) { if (strcmp(Atual->nome,nome)>=0) { break; } else { Atual = Atual->proximo; } } if (Atual!=NULL) { if (strcmp(Atual->nome,nome)==0) { system("cls"); printf("\n Nome: %s\n Rua: %s\n Bairro: %s\n Cidade: %s\n Estado: %s\n CEP: %s\n Telefone: %s\n",Atual->nome,Atual->rua,Atual->bairro,Atual->cidade,Atual->estado,Atual->cep,Atual->telefone); printf("\n\n\n\n "); system("pause"); system("cls"); return; } } printf("\n\n Nome não encontrado!"); printf("\n\n "); system("pause"); system("cls"); } /* ---------------------------------------------------------------- */ void main () { int opcao; char nome[40], rua[100], bairro[50], cidade[50], estado[10], cep[15], telefone[15]; do { printf("\n\n *************************************** \n * AGENDA DE TELEFONE * \n *************************************** \n * (1) -> Inserir Novo Cadastro: * \n * (2) -> Excluir um Cadastro: * \n * (3) -> Pesquizar um Cadastro: * \n * (4) -> Listar Todos os Cadastros: * \n * (5) -> Gravar no Arquivo: * \n * (6) -> Ler do Arquivo * \n * (0) -> Para Sair * \n *************************************** \n\n --> "); scanf("%d",&opcao); if (opcao == 1 || opcao == 2 || opcao == 3) { fflush(stdin); printf("\n\n Digite o Nome: " ); gets(nome); } switch (opcao) { case 1: { fflush(stdin); printf(" Digite a Rua e o N da casa: " ); gets(rua); fflush(stdin); printf(" Digite o Bairro: " ); gets(bairro); fflush(stdin); printf(" Digite a Cidade: " ); gets(cidade); fflush(stdin); printf(" Digite o Estado: " ); gets(estado); fflush(stdin); printf(" Digite o CEP: " ); gets(cep); fflush(stdin); printf(" Digite o Telefone: " ); gets(telefone); fflush(stdin); system("cls"); Insere(nome,rua,bairro,cidade,estado,cep,telefone); break; } case 2: { Deleta(nome); break; } case 3: { Pesquiza(nome); break; } case 4: { Lista(); break; } case 5: { break; } case 6: { break; } } } while (opcao != 0); } /* ---------------------------------------------------------------- */
-
Criei esse programa que simula um taskmanager, apenas para praticar "lista circular duplamente encadeada" então fiz com função. Opção 1 - Incluir (Ela inclui um valor em string e armazena) [Funciona] Opção 2 - Deletar (Deleta a string que deseja) [Funciona] Opção 3 - Listar (Lista todas as strings em ordem alfabetica [Funciona] Opção 4 - Executa (Essa opção deveria receber um valor em int, e fazer um loop alternando as strings até o final. EX. você entrou com "A-B-C" e ao executar essa opção colocou o numero 4 deveria fazer "A=1 B=1 C=1 A=2 B=2 C=2... etc... mas ele só faz a primeira certinho A=1 B=1 C=1 eda estouro de memoria.) Segue o codigo. // Projeto_Veiculos.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <dos.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> #include <iostream> /* ---------------------------------------------------------------- */ struct _no // define a estrutura do processo { struct _no *anterior; char nome[40]; struct _no *proximo; }; /* ---------------------------------------------------------------- */ typedef struct _no No; No *Raiz=NULL; // define um ponteiro para o numero raiz No *Ultimo=NULL; // define um ponteiro para o ultimo numero /* ---------------------------------------------------------------- */ void Insere(char *nome) { No *Atual; No *NoAnterior; No *NoPosterior; No *NovoNo; // Verifica se o nó na raiz é nulo, que é o caso quando a lista está vazia. // Se for, cria nó na raiz com os dados fornecidos e faz o último nó coincidir com ele. if (Raiz==NULL) { Raiz = new No; strcpy (Raiz->nome,nome); Raiz->proximo = NULL; Raiz->anterior = NULL; Ultimo = Raiz; } else { // se já houver raiz percorre a lista duplamente encadeada, comecando da raiz. // inicialmente, não há nó anterior. NoAnterior = NULL; Atual = Raiz; while (Atual!=NULL) { if (strcmp(Atual->nome,nome)>=0) break; // verifica se o nó atual é igual, se for superior pára else { NoAnterior = Atual; Atual = Atual->proximo; } } if (Atual!=NULL) // só faz a comparação abaixo se existe o nó Atual if (strcmp(Atual->nome,nome)==0) { printf ("\n\n Nome já existente!\n"); printf ("\n\n\n\n "); system("pause"); system("cls"); return; } NoPosterior = Atual; // insere um novo nó entre o nó atual e o nó anterior NovoNo = new No; // aloca memória para o novo nó strcpy (NovoNo->nome,nome); // coloca dados no nó a ser inserido // atualiza ponteiros do novo nó NovoNo->proximo = NoPosterior; NovoNo->anterior = NoAnterior; // atualiza ponteiros dos nós vizinhos if (NoAnterior != NULL) NoAnterior->proximo = NovoNo; if (NoPosterior != NULL) NoPosterior->anterior = NovoNo; // verifica se o novo nó foi inserido no início ou no fim da lista se foi, atualiza referências if (NovoNo->anterior == NULL) Raiz = NovoNo; if (NovoNo->proximo == NULL) Ultimo = NovoNo; } } /* ---------------------------------------------------------------- */ void Lista() { No *Atual; Atual = Raiz; // percorre a lista duplamente encadeada desde a raiz while(Atual!=NULL) { printf ("\n Processo: %s\n",Atual->nome); Atual=Atual->proximo; } printf ("\n\n\n\n "); system("pause"); system("cls"); } /* ---------------------------------------------------------------- */ void Deleta(char *nome) { No *Atual; No *Anterior=NULL; No *Posterior; Atual = Raiz; // primeiro, percorre a lista duplamente encadeada desde a raiz while (Atual!=NULL) { // verifica se já encontrei ou já passei do nome procurado if (strcmp(Atual->nome,nome)>=0) break; else { // se ainda não passou Anterior = Atual; Atual = Atual->proximo; } } if (Atual!=NULL) Posterior = Atual->proximo; // verifica se o nó atual é mesmo o nó procurado if (Atual != NULL) if (strcmp(Atual->nome,nome)==0) { // se for, deleta // faz com que o nó subsequente ao atual seja o subsequente ao nó anterior para manter a integridade da lista if (Atual != Raiz) Anterior->proximo = Atual->proximo; else // se o no atual é a raiz, atualizo a referência para a raiz Raiz = Atual->proximo; // faz com que a referência para o nó anterior do próximo nó seja // o nó anterior ao que será deletado, para manter a integridade if (Atual != Ultimo) Posterior->anterior = Anterior; else // se o nó atual é o último, atualiza a referência para o último Ultimo = Anterior; // agora, o nó atual morreeeee!!!! free(Atual); printf ("\n\n Nome deletado! \n\n"); printf ("\n\n\n\n "); system("pause"); system("cls"); return; } printf("\n\n não achei!\n"); printf ("\n\n\n\n "); system("pause"); system("cls"); } /* ---------------------------------------------------------------- */ void Executa() { int Ciclos, Qtde; No *Atual; Atual = Raiz; Ciclos=1; Qtde=1; if (Raiz!=NULL) { // recebe o valor para executar o loop solicitado printf("\n\n Entre com a quantidade de ciclos desejada: " ); scanf("%i", &Qtde); while(Ciclos<Qtde) // verifica quando o loop é encerrado { if (Atual==Raiz) { Ciclos++; } printf(" Processo: %s | Qtde: %d | Ciclo: %i \n", Atual->nome, Qtde, Ciclos-1); Atual = Atual->proximo; Sleep(500); } } else { printf("\n\n não existem processos na lista!"); } printf("\n\n\n\n "); system("pause"); system("cls"); Qtde=0; Ciclos=1; } /* ---------------------------------------------------------------- */ void main () { int opcao; char nome[40]; do { printf("\n\n ****************** MENU ****************** \n (1) -> para inserir um novo processo:\n (2) -> para excluir um processo:\n (3) -> para listar todos os processos: \n (4) -> para executar os processos: \n (0) -> para sair \n ****************************************** \n\n Opcao: "); scanf("%d",&opcao); if (opcao == 1 || opcao == 2) { printf("\n\n Entre com o nome do processo: " ); scanf("%s",nome); system("cls"); } switch (opcao) { case 1: { Insere(nome); break; } case 2: { Deleta(nome); break; } case 3: { Lista(); break; } case 4: { Executa(); break; } } } while (opcao != 0); } /* ---------------------------------------------------------------- */
-
Fiz esse programa em "C", você entra com um numero qualquer e ele te retorna quantos digitos tem esse numero. Com int ele funciona bem, mas quero passar ele para double e não estou conseguindo fazer. Segue o codigo fonte... #include<conio.h> #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<string.h> void main(void) { int c, n; char resposta = 's'; do { textbackground(1); textcolor(14); cprintf("\r\n\n"); printf(" ");cprintf("****************************************************\r\n"); printf(" ");cprintf("* Infomar a quantidade de digitos de um numero: *\r\n"); printf(" ");cprintf("****************************************************\r\n"); printf("\n Digite um numero: "); scanf("%i", &n); for(c = 0; n; n /= 10) c++; printf("\n ----> O numero possui %i digitos.", c); textbackground(0); printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); cprintf(" Deseja Continuar S/N?: "); scanf( "\n %c", &resposta ); clrscr(); }while(toupper(resposta) == 'S'); } Segunda duvida, fiz um programa que converte decimais para romanos, mas não consigo fazer a saida em C. apenas c++, alguém pode me dar uma luz ae? #include<iostream.h> #include<cstring.h> #include<conio.h> #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<string.h> int dec_romana (int num); int main(int argc, char *argv[]) { int numerito; printf("\n Entre com um numero de 1 a 3999: "); scanf("%i", &numerito); dec_romana(numerito); getch(); return (0); } int dec_romana (int num) { int numeros[8] = {1,5,10,50,100,500,1000,5000},i,p; string letras[8] = {"I","V","X","L","C","D","M"},romano; if(num<=0) { printf("\n Sou bom, Mas não sou magico."); return(0); } else if(num<=3999) { while(num > 0) { i = 0; while(i < 7) { while(num >= numeros[i] && num < numeros[i+1]) { p = i%2; if(num >= numeros[i+1] - numeros[i-p]) { romano = romano + letras[i-p] + letras[i+1]; num = num-(numeros[i+1]-numeros[i-p]); } else { romano = romano + letras[i]; num = num-numeros[i]; } } i++; } } cout << romano << endl; //QUERO ARRUMAR ISSO AQUI } else { printf("Eu mandei escrever de 1 a 3999 cegueta!"); return(0); } }
-
Tenho uma lista de 11 exercicios, já fiz 9 preciso de ajuda nesses aqui... 11) Construa um programa que receba um numero inteiro maior que 0 e menor que 1000 e seja capaz de exibir o número por extenso. Exemplo: Se for informado o número inteiro 879, o programa deve exibir: “Oitocentos e Setenta e Nove”. Consegui fazer ele mostrar até 99 certo, mas depois travei... #include<stdio.h> #include<string.h> #include<conio.h> const char *tab1[] = { "zero", "um", "dois", "tres", "quatro", "cinco", "seis", "sete", "oito", "nove", "dez", "onze", "doze", "treze", "quatorze", "quinze", "dezesseis", "dezesete", "dezoito", "dezenove", }; const char *tab2[] = { "vinte", "trinta", "quarenta", "cinquena", "sessenta", "setenta", "oitenta", "noventa", }; const char *tab3[] = { "cem", "duzentos", "trezentos", "quatrocentos", "quinhentos", "seicentos", "setesentos", "oitocentos", "novecentos", }; void main() { int num; char num_extenso[500]; for(num=0; num<500; num++) { num_extenso[num] = '';} printf("Digite um numero: "); scanf("%i", &num); if(num <= 19) { strcat(num_extenso, tab1[num]); } else if(num <= 99) { strcat(num_extenso, tab2[(num/10) - 2]); if(num%10) { strcat(num_extenso, " e "); strcat(num_extenso, tab1[(num%10)]); } } else if(num <= 999) { strcat(num_extenso, tab3[(num/100)]); if(num%10) { strcat(num_extenso, " e "); strcat(num_extenso, tab2[(num%10)]); } } printf("\n\t%s", num_extenso); getch(); E falta esses dois que não consigo... 6) Elabore um programa que leia 10 nomes e ao final exiba os 10 nomes lidos ao contrário. 10) Escreva um programa que receba 3 strings, sendo que cada string é uma seqüência de notas musicais (C, D, E, F, A, B, C); que representa uma voz em uma melodia , o programa deve retornar se a melodia é um Cânone, ou não é uma Cânone.
-
Eu fiz esse programa em C, você digita 5 numeros e ele te da no final o maior, o menor, quantos numeros foi digitado e a soma desses numeros, preciso de ajuda apenas para colocar uma condição. Eu quero deixar as entrar infinitas ele só vai apresentar o resultado quando você digitar um numero negativo. #include<conio.h> #include<stdio.h> #include <iostream.h> void main(void) { // Declaração e Inicialização de Variáveis int num[5], i = 0, maior, menor, soma = 0; char resposta = 's'; do{ soma = 0; while (num[i]>=0){ for (i = 1; i <= 5; i++){ printf(" Entre com o %i valor: " ,i); scanf("%i",&num[i]); if (i == 1){ menor = num[i]; maior = num[i];} else{ if (num[i] < menor){ menor = num[i];} if (num[i] > maior){ maior = num[i];}} soma = (soma + num[i]);}} printf("\n\n O menor numero e: " "%i",menor); printf("\n\n O maior numero e: " "%i",maior); printf("\n\n A quantidade de numeros digitados foi: " "%i",i=i-1); printf("\n\n A soma de todos numeros e de: " "%i",soma); resposta = printf("\n \n Deseja Continuar S/N?:"); scanf( "\n %c", &resposta ); }while( resposta == 's' || resposta == 'S'); }
-
Eu fiz esse programa, mas não consegui fazer a saida usando for, então fiz manualmente. Gostaria de saber se alguém pode me explicar como fazer em for. O que eu quero é... Eu tenho Matriz 1 3x3, Matriz 2 3x3 e a Matriz 3 3x6. Eu quero montar a matriz 3 com uma coluna de cada da matriz 1 e 2. Tipo, a coluna 1 da matriz 1 é a coluna 1 da matriz 3 a coluna 1 da matriz 2 é a coluna 2 da matriz 3 a coluna 2 da matriz 1 é a coluna 3 da matriz 3 e assim sucessivamente. #include <stdio.h> #include <conio.h> #include <time.h> #include <stdlib.h> int main () { int matriz[3][3],matriz2[3][3],matriz3[3][6]; int cont,i; time_t hora; hora = time(NULL); srand(hora); /*função para gerar numeros randomicos*/ for (i=0;i<3;i++) { for (cont=0;cont<3;cont++) { matriz[i][cont] = ((rand()%20)+1); /*atribui os numeros randomicos de 1 a 20 na matriz */ matriz2[i][cont]=((rand()%20)+1); } } printf(" \x1A PRIMEIRA MATRIZ \n\n"); for (i=0;i<3;i++) /*mostrar as matriz*/ { for (cont=0;cont<3;cont++) { printf(" %i \t",matriz[i][cont]); } printf("\n"); } printf("\n\n"); printf(" \x1A SEGUNDA MATRIZ \n\n"); for (i=0;i<3;i++) /*mostrar as matriz2*/ { for (cont=0;cont<3;cont++) { printf(" %i \t",matriz2[i][cont]); } printf("\n"); } printf("\n\n"); /*calculca a matriz3*/ matriz3[0][0]=matriz[0][0]; matriz3[1][0]=matriz[1][0]; matriz3[2][0]=matriz[2][0]; matriz3[0][1]=matriz2[0][0]; matriz3[1][1]=matriz2[1][0]; matriz3[2][1]=matriz2[2][0]; matriz3[0][2]=matriz[0][1]; matriz3[1][2]=matriz[1][1]; matriz3[2][2]=matriz[2][1]; matriz3[0][3]=matriz2[0][1]; matriz3[1][3]=matriz2[1][1]; matriz3[2][3]=matriz2[2][1]; matriz3[0][4]=matriz[0][2]; matriz3[1][4]=matriz[1][2]; matriz3[2][4]=matriz[2][2]; matriz3[0][5]=matriz2[0][2]; matriz3[1][5]=matriz2[1][2]; matriz3[2][5]=matriz2[2][2]; printf("\n\n"); printf(" \x1A TERCEIRA MATRIZ \n\n"); for(i=0;i<3;i++) /*mostrar as matriz2*/ { for(cont=0;cont<6;cont++) { printf(" %i \t",matriz3[i][cont]); } printf("\n"); } getch(); }
-
Eu fiz esse codigo para ele apresentar apenas as vogais de uma palavra, Você digita "Fernando" e ele mostra "eao". o que eu quero é que ele mostre com um "-" no meio das letras tipo "e-a-o", alguém pode me ajudar? #include<conio.h> #include<stdio.h> #include<string.h> int main() { char str[30],vogal[]={'a','e','i','o','u','A','E','I','O','U'} ,k[40]; char a; int cont=0,i,qtd,aux=0; printf(" Digite uma palavra: "); fflush(stdin); scanf("%s",str); qtd=strlen(str); for(cont=0;cont<qtd;cont++) for(i=0;i<10;i++) if(str[cont]==vogal[i]) k[aux++]=str[cont]; k[++aux]='0'; k[aux-1]=NULL; printf(" \n %s ",k); getch(); }
-
Tentei fazer funcionar com esse codigo acima, mas não consegui fazer essa linha funcionar (stringNomes.add(nome).add("\n");) Sei programar mais em VB, eu sei, isso é mal ;)
-
Valeu, era isso mesmo que eu queria fazer....
-
Esse codigo que fiz, calcula a media de 5 valores, essa parte funciona, o que eu não consigo fazer é, mostrar os 5 nomes que armazenei num vetor numa mesma saida junto com a media. package javaapplication4; import javax.swing.JOptionPane; /** * * @author 134569 */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // declaração de vetores de Nomes e Notas1 String nomes[] = new String[5]; float preço[] = new float[5]; float media, soma=0; int i; // leitura de nomes e notas for(i=0;i<5;i++) { nomes[i]=JOptionPane.showInputDialog("Entre com o nome do " + (i+1) + "º fornecedor:"); preço[i]=Float.parseFloat(JOptionPane.showInputDialog("Entre com o valor do " + (i+1) + "º preço:")); } // somatória das notas dos alunos for(i=0;i<5;i++) soma = soma + preço[i]; // cálculo da média da sala media = soma / 5; // Exibição da média da sala e do total de notas String msg = String.format("O nome dos fornecedores são " + nomes + "\nA média dos preços é " + media); JOptionPane.showMessageDialog(null, msg); System.exit(0); } }
-
Funcionou normal no Dev-C++.
-
Eu queria fazer um Programa, que você entrasse com cinco nomes e cinco preços e no final ele mostra-se desse modo. " O Nomes são... A B C D E A media de preço é... A media de preço fiz facil, mas não sei trabalhar com string no c. valeu pela ajuda. Meu codigo da media. using namespace std; int main() { // Declaração e Inicialização de Variáveis float preço[5], media; int i; // Entrada de Dados for (i = 1; i <= 5; i++) { preço[i] = printf("Entre com o %i preço:" ,i); scanf("%f",&preço[i]); } // Processamento dos Dados media = (preço[1] + preço[2] + preço[3] + preço[4] + preço[5])/5; // Exibição do Preço Médio printf("\nA media dos precos e %.2f", media); getch(); }