Jump to content

Search the Community

Showing results for tags 'c'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Web Development
    • HTML e CSS
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets and other environments
    • WordPress
    • Mobile
    • Agile
    • Desenvolvimento de Games
    • Banco de Dados
    • Design and UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • iMasters's pub

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 226 results

  1. Mosiah Santos Oliveira

    Calcular valores

    #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> int i=0, j=0; char tecla; struct cadastro_cliente { int cod; char nome [40]; char rua [30]; int numero; int cpf; int cnh; char bairro [30]; char cidade [30]; int codigocar; }; struct cadastro_cliente Cliente[50]; struct cadastro_carro { int codcar; char modelo [20]; char marca [15]; char placa [15]; int tipocarro; double valor ,finaldeloc; int valorlocacao;//funcao nova int status; }; struct cadastro_carro Carro[50]; int cad_cliente(void); int list_cliente(void); int cad_carro(void); int tipodocarro(void); int loc_carro(void); int mostra_clientes(void); int devo_carro(void); int dias(void);//funcao nova int valor(void); //funcao nova int tipocarro(void);//funcao nova int cad_cliente (void) { printf("Cadastro %d de 50\n", j); if (j<50) { printf("Digite o codigo do Cliente: "); scanf("%d", &Cliente[j].cod); fflush(stdin); printf("Digite o nome do Cliente: "); gets(Cliente[j].nome); printf("Digite o CPF do Cliente: "); scanf("%d", &Cliente[j].cpf); fflush(stdin); printf("Digite a CNH do Cliente: "); scanf("%d", &Cliente[j].cnh); fflush(stdin); printf("Digite o nome da Rua: "); gets(Cliente[j].rua); fflush(stdin); printf("Digite o numero da casa: "); scanf("%d", &Cliente[j].numero); fflush(stdin); printf("Digite o nome do Bairro: "); gets(Cliente[j].bairro); fflush(stdin); printf("Digite o nome da Cidade: "); gets(Cliente[j].cidade); j++; } return(0); } int list_cliente (void) { int k=0; if(Cliente[k].cod != 0) { k++; printf("\nNome do Cliente: %s\n", Cliente[k].nome); getch(); } return (0); } int tipo_do_carro (int tp) { double valor; // 1 para basico, 2 para intemediario e 3 para executivo if(tp == 1){ valor = 80.00; } if(tp == 2){ valor = 150.00; } if(tp == 3){ valor = 300.00; } if (tp == 0 || tp <= 4){ printf("tipo de carro não existe"); } return(tp); } int cad_carro (void) { printf("Cadastro de carro %d de 50\n", i); if(i<50) { printf("Digite o codigo do veiculo: "); scanf("%d", &Carro[i].codcar); fflush(stdin); printf("Digite o modelo do carro: "); gets(Carro[i].modelo); fflush(stdin); printf("Digite a marca do carro: "); gets(Carro[i].marca); fflush(stdin); printf("Digite a placa do carro: "); gets(Carro[i].placa); fflush(stdin); printf("Tipo do Carro \n CARRO BASICO 1 \n CARRO INTERMEDIARIO 2\n CARRO EXECUTIVO 3 \n Digite o tipo do carro: "); scanf("%d", &Carro[i].tipocarro); printf("valor de locacao (por dia): "); scanf("%f", &Carro[i].valorlocacao); fflush(stdin); tipo_do_carro(Carro[i].tipocarro); printf("%f", &Carro[i].valor); i++; } return(0); } int loc_carro (void) { int k=0; char consulta[40]; char resposta; int codi; int dias, valorfinaldeloc; int valor; //funcao nova fflush(stdin); printf("Digite o nome do cliente que quer locar um veiculo: "); gets(consulta); Reconsulta: for(k=0; k<50; k++) { if(consulta == Cliente[k].nome); { printf("Cliente cadastrado, deseja locar veiculo s/n: "); scanf("%c", &resposta); if(resposta == 's') { printf("Digite o codigo do Carro: "); scanf("%d", &codi); //quantos o cliente vai ficar com o carro. printf("Quantos dias você deseja ficar com o carro?"); scanf("%d", &dias); scanf("%d",&valor); //funcao nova //recuperar o valor da diaricarro[k].valor; //multiplicar a quantidade de dias pelo valor da diaria valorfinaldeloc = Carro[i].valor*dias; printf("Valor de locacao é %d! \n Deseja locar carro?", valorfinaldeloc);//corrigido Cliente[k].codigocar=codi; Carro[k].status= 1; // quando tiver o status 1 é porque está locado. }; }; }; printf("Cliente nao Cadastrado"); return(0); } int mostra_clientes (void) { for (j=0; j<50; j++) { if(Cliente[j].codigocar != 0) { printf("Cliente: %c", Cliente[i].nome); printf("Marca do veiculo: %c", Carro[i].marca); } } return(0); } int devo_carro (void) { char dev, devolucao[40]; printf("Digite o Nome do Cliente que vai devolver o veiculo: "); scanf("%c", &devolucao); for (i=0; i<50; i++) { if(devolucao == Cliente[i].nome) { printf("Realizar devolucao s/n? "); scanf("%c", &dev); if (dev == 's') { Cliente[i].codigocar=0 ; Carro[i].status=0; } } } return(0); } int main (void) { // variavel opcao serve para o menu int opcao=0; // signifa enquanto o menu for menor que 8 vai está em um loop do menu while(opcao<8) { printf("\n\nLOCADORA DE VEICULOS\n"); printf("..................\n\n"); printf("1 - CADASTRAR CLIENTE\n"); printf("2 - LISTAR CLIENTES CADASTRADOS\n"); printf("3 - CADASTRAR CARRO\n"); printf("4 - LOCAR CARRO\n"); printf("5 - CLIENTES COM CARROS LOCADOS\n"); printf("6 - DEVOLUCAO DE CARRO\n"); printf("7 - SAIR\n"); printf("Escolha uma opcao:"); fflush(stdin); scanf("%d", &opcao); switch(opcao) { case 1: cad_cliente(); break; case 2: list_cliente(); break; case 3: cad_carro(); break; case 4: loc_carro(); break; case 5: mostra_clientes(); break; case 6: devo_carro(); break; case 7: exit(0); break; default: printf("\nopcao invalida - tecle <enter>"); fflush(stdin); while ((tecla=getchar())!='\r') break; }/*fim do swith*/ }/*fim do while*/ getch(); return (0); }
  2. JhoniWillian

    [Resolvido] Conversão de Data no Insert

    Olá, bom dia pessoal. Estou tendo dificuldades ao inserir informações via c# para o banco MySQL. Como todos sabem, quando se cria uma tbl com campo DateTime no MySQL, ele vem em padrão americano 2017-10-04 'exemplo' Meu problema é o seguinte. Eu faço um select em um banco SQL Server e puxo essas informações para um DataGrid com os campos que necessito. Após isso, o sistema vai levar esse datagrid e gravar as informações contidas nele para o banco MySQL fazendo o insert nesse trecho do código: for (int i = 0; i < dvgOrdens.Rows.Count - 1; i++) { string ordem = dvgOrdens.Rows[i].Cells[1].Value.ToString(); //ordem string pedido = dvgOrdens.Rows[i].Cells[2].Value.ToString(); //pedido string operacao = dvgOrdens.Rows[i].Cells[3].Value.ToString(); //operacao string item = dvgOrdens.Rows[i].Cells[4].Value.ToString(); //item string data_limite = dvgOrdens.Rows[i].Cells[5].Value.ToString(); //Data Limite DateTime data = Convert.ToDateTime(data_limite); lblItem.Text = item; this.Refresh(); //Inseri os valores na tabala do Andon string sql_insert = "INSERT INTO pixie_andon_nc (ordem, cod_item, operacao, pedido, inicio_prev, fim_prev) VALUES ('" + ordem + "', '" + item + "', '" + operacao + "', '" + pedido + "', '" + "STR_TO_DATE" + "("+ data +")" + "', '" + data + "')"; MySqlCommand cmd = new MySqlCommand(sql_insert, mConn); cmd.ExecuteNonQuery(); } Ele está inserindo Ok as informações, porém, a Data Limite da Cells[5] ele está gravando como: 00/00/0000 00:00:00 e no meu datagrid quando puxo do SQL SErver a informação, ela está vindo como: 04/10/2017 (exemplo). A dúvida é: o campo do MYSQL é DateTime ou seja, Data e Hora. porém, eu só preciso da Data que vem do datagrid '04/10/2017' porque a hora vai ser editável pelo usuário depois, ou seja a hora ele pode manter 00:00:00, ficando assim: 04/10/2017 00:00:00, o que eu posso fazer para resolver esse problema?
  3. Caros, Abaixo tenho um codigo que salva a imagem do canvas ser for um desenho, se for uma imagem de webcam não faz o postback ! qual o problema ? <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="z_webcam.aspx.cs" Inherits="Portaria.z_webcam" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <!DOCTYPE HTML> <head> <title>Saving Canvas to .png file on the server</title> <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js" type="text/javascript"></script> <script type="text/Javascript"> function drawShapes() { var canvas = document.getElementById("myCanvas"); var context = canvas.getContext("2d"); context.fillStyle = "green"; context.fillRect(0, 0, 100, 200); context.beginPath(); context.lineWidth = "4"; context.strokeStyle = "Green"; context.fillStyle = "Yellow"; context.arc(150, 100, 50, 20, Math.PI * 2, false); context.stroke(); context.fill(); } </script> </head> <body onload="drawShapes()"> <video id="player" autoplay="autoplay" width="270" height="200"></video> <button id="capture">Capturar</button> <canvas id="myCanvas" width="200" height="200"></canvas> <input type="button" id="btnSave" name="btnSave" value="Save the canvas to server" /> <script type="text/javascript"> /// begin of camera display to screen /// and capture to canvas var player = document.getElementById('player'); var snapshotCanvas = document.getElementById('myCanvas'); var captureButton = document.getElementById('capture'); var handleSuccess = function (stream) { player.srcObject = stream; }; captureButton.addEventListener('click', function () { var context = myCanvas.getContext('2d'); context.drawImage(player, 0, 0, snapshotCanvas.width, snapshotCanvas.height); }); navigator.mediaDevices.getUserMedia({ video: true }).then(handleSuccess); /// end of camera display & capture // Send the canvas image to the server. $(function () { $("#btnSave").click(function () { var image = document.getElementById("myCanvas").toDataURL("image/png"); image = image.replace('data:image/png;base64,', ''); $.ajax({ type: 'POST', url: 'z_webcam.aspx/UploadImage', data: '{ "imageData" : "' + image + '" }', contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (msg) { alert('Image saved successfully !'); } }); }); }); </script> </body> </html> abaixo o webservices.. using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; using System.Web.Script.Services; using System.Web.Services; using System.Web.UI; using System.Web.UI.WebControls; namespace Portaria { public partial class z_webcam : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string teste = ""; teste = "asdf"; } } [ScriptService] public partial class z_webcam : System.Web.UI.Page { static string path = @"D:\temp\"; [WebMethod()] public static void UploadImage(string imageData) { string fileNameWitPath = path + DateTime.Now.ToString().Replace("/", "-").Replace(" ", "- ").Replace(":", "") + ".png"; using (FileStream fs = new FileStream(fileNameWitPath, FileMode.Create)) { using (BinaryWriter bw = new BinaryWriter(fs)) { byte[] data = Convert.FromBase64String(imageData); bw.Write(data); bw.Close(); } } } } }
  4. O exerc 3 e 4 parecem muito, o exerc 3 eu consegui fazer normalmente. Mas Não consigo fazer o exerc 4, pois quando eu digito (3+3+4)/3 da 3 e deveria dar 3.333333.
  5. #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<string.h> #include <stdbool.h> int TAM = 0; typedef struct { char nome[20]; char telefone[20]; char email[20]; } Agenda; void menu(Agenda *pAgenda); Agenda* AlocaAgenda(); void RealocaAgenda(Agenda *pAgenda); Agenda ColetaDados(); void ImprimeAgenda(Agenda *pAgenda,int num); int InsereAgenda(Agenda *pAgenda); int AlteraAgenda(Agenda *pAgenda); int PesquisaAgenda(Agenda *pAgenda); int RemoveAgenda(Agenda *pAgenda); void ListarAgenda(Agenda *pAgenda); void LiberaAgenda(Agenda *pAgenda); int main() { Agenda *listaAgenda = AlocaAgenda(); menu(listaAgenda); return 0; } void menu(Agenda *pAgenda) { bool resp = true; while(resp) { int cont; printf("\n--- MENU ---"); printf("\n1 - Cadastrar"); printf("\n2 - Alterar"); printf("\n3 - Remover"); printf("\n4 - Pesquisar"); printf("\n5 - Listar"); printf("\n0 - Sair"); printf("\nOpcao: "); fflush(stdin); scanf("%d",&cont); switch(cont) { case 0: LiberaAgenda(pAgenda); resp = false; break; case 1: InsereAgenda(pAgenda); break; case 2: fflush(stdin); AlteraAgenda(pAgenda); break; case 3: RemoveAgenda(pAgenda); break; case 4: fflush(stdin); PesquisaAgenda(pAgenda); break; case 5: ListarAgenda(pAgenda); fflush(stdin); break; default: printf("Opcao Invalida!"); getch(); system("cls"); break; } } } Agenda* AlocaAgenda() { Agenda *p = (Agenda*)malloc(sizeof(Agenda)); if(p!= NULL) { return p; } else { exit(0); } } void RealocaAgenda(Agenda *pAgenda) { pAgenda = (Agenda*)realloc(pAgenda,(TAM+1)*sizeof(Agenda)); if(pAgenda == NULL) { printf("ERRO!\n"); exit(0); } } Agenda ColetaDados() { Agenda dados; fflush(stdin); printf("Digite Nome: "); gets(dados.nome); printf("Digite Telefone: "); gets(dados.telefone); printf("Digite Email: "); gets(dados.email); return dados; } int InsereAgenda(Agenda *pAgenda) { int resp = 1,cont =0; while(resp != 0 ) { if(TAM == 0 ) { pAgenda[TAM] = ColetaDados(); TAM++; cont++; printf("Cadastrado com sucesso!"); getch(); system("cls"); } else if(TAM > 0 && cont == 0 ) { RealocaAgenda(pAgenda); pAgenda[TAM] = ColetaDados(); TAM++; printf("Cadastrado com sucesso!"); getch(); system("cls"); } else { pAgenda[TAM] = ColetaDados(); TAM++; printf("Cadastrado com sucesso!"); getch(); system("cls"); } printf("\nCadastrar mais ? 1- Sim 2 - Nao"); printf("\nOpcao: "); scanf("%d",&resp); switch(resp) { case 1: RealocaAgenda(pAgenda); cont++; break; case 2: fflush(stdin); resp = 0; printf("Retornando menu anterior...\n\n"); getch(); system("cls"); break; default: printf("Opcao Invalida!"); getch(); system("cls"); break; } } } void ImprimeAgenda(Agenda *pAgenda,int num) { printf("\nNome: %s",pAgenda[num].nome); printf("\nTelefone: %s",pAgenda[num].telefone); printf("\nEmail: %s\n",pAgenda[num].email); } int AlteraAgenda(Agenda *pAgenda) { char nome[20]; printf("\nDigite nome a ser buscado: "); gets(nome); int i= 0 ; while(i < TAM && strcmp(nome,pAgenda[i].nome) != 0) { i++; } if(strcmp(nome,pAgenda[i].nome) != 0) { printf("Nao encontrado!\n\n"); getch(); system("cls"); return 0; } else { pAgenda[i] = ColetaDados(); printf("Alterado com sucesso!\n\n"); getch(); system("cls"); } return 1; } int PesquisaAgenda(Agenda *pAgenda) { char nome[20]; printf("\nDigite nome a ser buscado: "); gets(nome); int i= 0 ; while(i < TAM && strcmp(nome,pAgenda[i].nome) != 0) { i++; } if(strcmp(nome,pAgenda[i].nome) != 0) { printf("Nao encontrado!\n\n"); getch(); system("cls"); return 0; } else { ImprimeAgenda(pAgenda,i); getch(); system("cls"); } return 1; } int RemoveAgenda(Agenda *pAgenda) { char nome[20]; fflush(stdin); printf("Digite nome a ser removido: "); gets(nome); int i = 0; while(i < TAM && strcmp(nome,pAgenda[i].nome)!= 0) { i++; } if(strcmp(nome,pAgenda[i].nome)!= 0) { printf("Nome nao cadastrado!\n\n"); getch(); system("cls"); return 0; } else { int resp = 1; while(resp != 0) { ImprimeAgenda(pAgenda,i); printf("\nDeseja remover? 1 - Sim 2 - Nao"); printf("\nOpcao: "); scanf("%d",&resp); switch(resp) { case 1: { Agenda aux; int num; for(num = i; num<TAM; num++) { aux = pAgenda[i+1]; pAgenda[i] = aux; } TAM--; RealocaAgenda(pAgenda); resp = 0; printf("Removido com sucesso!\n\n"); getch(); system("cls"); break; } case 2: { resp = 0; break; } default: { printf("Opcao Invalida!\n"); system("cls"); break; } } } } } void ListarAgenda(Agenda *pAgenda) { int n; if(TAM == 0) { printf("Agenda Vazia!\n\n"); getch(); system("cls"); } else { while(n < TAM) { ImprimeAgenda(pAgenda,n); n++; printf("\n"); } } getch(); system("cls"); } void LiberaAgenda(Agenda *pAgenda) { free(pAgenda); } Boa noite sou novo no fórum, estou tentando criar uma agenda de cadastros, só que ela apresenta vários erros como por exemplo: na hora de cadastrar só cadastra 2 contatos, na hora de listar o compilador buga e fecha o programa .. alguem tem alguma ideia??
  6. paulogualter

    Similar ao GnomeDo

    Bom Dia a Todos, Estou querendo criar uma aplicação que é chamada ao ser teclado uma sequencia de teclas ( ex: Ctrl + Shift + Alt + L ). Lembrando que esta aplicação estará em Segundo Plano (notifyIcon1). Grato
  7. TomasCartman

    Problema com CodeBlocks

    Galera, eu usava o codeBlocks normalmente, mas recentemente quando eu tento fazer o programa mais simples possível, eu recebo uma variável errada. Ex: #include <stdio.h> #include <stdlib.h> int main() { int r = 1; printf("%i " , &r); return 0; } E com esse código, por algum motivo, eu recebo no console o numero 6356748 Alguem pode dar uma ajuda?
  8. Olá. Tenho que fazer uma função para ler uma string enorme e depois dividi-la em pequenas strings para cada campo. Cada campo seria separado por ; exemplo: BRUNNY;PR;MG;T;Câmara dos Deputados, Edifício Anexo;4;, gabinete nº;260;Brasília - DF - CEP 70160-900;3215-5260;3215-2260;08;21;dep.brunny@camara.leg.br;BRUNNY;Exma. Senhora Deputada;BRUNIELE FERREIRA GOMES Cada palavra antes do ; seria para um tipo de variável, exemplo: nome, partido, uf, titular/suplente/efetivo, endereço... Até então, pensei assim: int i,a = 0; char str[1000]; scanf("%[^\n]s", str); for(i = 0; i < strlen(str); i++) { if (str[i] == ';') { /** Essa parte eu não consegui pensar em como transferir a palavra encontrada para a sua variável. */ a = i + 1; } } Só não consegui pensar em alguma forma de passar cada palavra para a sua variável.
  9. Matheus Ponce

    Reserva Poltrona no Onibus em C

    Estou com um exercício da Faculdade para fazer ele é simples mas estou com dificuldade de printar alguem pode me ajuda .... o que eu fiz ( acho que da ruim) #include <stdio.h> #include <stdlib.h> #define LUGARES 48 void ocupar(int janela[], int poltrona[]); void consultar(int janela[], int poltrona[]); int main(){ int i, opcao, janela[LUGARES], poltrona[LUGARES]; //janela = impares, poltrona = pares for(i=0;i<LUGARES;i++){ if(i%2){ janela = 0; poltrona = -1; } else { janela = -1; poltrona = 0; } } printf("\tGerenciamento de Onibus\nDigite a opcao desejada:\n"); do { printf("(1) Ocupar uma poltrona\n(2) Consultar poltrona\n(4) Sair\n-->"); scanf("%d", &opcao); system("CLS"); switch(opcao){ case 1: ocupar(janela, poltrona); break; case 2: consultar(janela, poltrona); break; case 4: exit(1); break; } } while (1); return(0); } void ocupar(int janela[], int poltrona[]){ int x; printf("Digite qual poltrona deseja ocupar: "); scanf("%d", &x); if(x%2){ janela[x] = 1; } else { poltrona[x] = 1; } printf("Poltrona ocupada com sucesso.\n"); } void consultar(int janela[], int poltrona[]){ int x; printf("Digite qual poltrona deseja consultar: "); scanf("%d", &x); if(x%2){ if(janela[x]){ printf("Esta poltrona esta ocupada.\n"); } else { printf("Esta poltrona esta livre.\n"); } } else { if(poltrona[x]){ printf("Esta poltrona esta ocupada.\n"); } else { printf("Esta poltrona esta livre.\n"); } } } é o ex4 e tem que printa igual o desenho e n to conseguindo
  10. lucasvbl

    Soma de Frações em C

    estou aprendendo C , e queria ajuda pra ver como fazer... precisaria somar duas frações mas as frações e tem que está na forma irredutível, simplificada tipo ele vai receber quatro inteiros a, b, c, d, ele deve calcular a/b + c/d na forma irredutível. por favor me ajudem
  11. Árisson Lima

    Problemas com a lógica

    Olá galera muito bom dia, eu estou fazendo Técnico em Informática no IFCE da minha cidade e nas aulas de programação o professor está ensiando o C, porém esses dias ele passou um exercício para criar um programinha que faça o seguinte: Pegar o nome do usuário; Pegar o último sobrenome; Depois ele quer pegar 3 notas, (A, B e C); Em seguida quer comparar as 3 notas entre si e eliminar a menor; Com as 2 notas que sobraram é pra calcular a média; Ai diante da média ver se o aluno foi aprovado, reprovado ou ficou de avaliação final, com base na média que for definida; Depois exibir na tela o resultado informando o nome do aluno com o seu sobrenome. Galera agradeço muito se me ajudarem, assim, boa parte desse programa eu conseguiria fazer, no caso, de alguma outra forma simples, porém onde estou me complicando é na lógica em relação a pegar as 3 notas e comparar entre si e excluir a menor, é só nessa parte que de mim não está conseguindo sair nada, eu sei que preciso estudar um pouco mais, porém acredito que o forúm sirva pra isso para tirarmos dúvidas entre os outros, porque sempre tem alguém que saiba um pouco mais do que um outro. Peço uma luz, uma idéia de como posso fazer isso ai, desde já agradeço.
  12. MouseBugado

    Loop

    Olá pessoal, Eu gostaria que o Scanf Funcionasse no meu LOOP. aonde eu estou errando. Segue imagem e Código abaixo. #include<stdio.h> int main() { char n[2]; int contLoop; int posVetor; contLoop = 1; posVetor = 0; while (contLoop <= 3) { printf("Qual a N?"); scanf("&d", &n[posVetor]); contLoop = contLoop +1; posVetor = posVetor +1; } return 0; }
  13. Ola pessoal tudo bem com vocês.. Minha duvida e no seguinte , eu gravo determinados dados em um arquivo , só que na hora de mostrar o que tem em determinada posição, ele mostra outras coisas alem disso. EX; Nome: Maria idade 19 Em qual posição deseja gravar: posição 3 Nome : João idade 19 Em qual posição deseja gravar: posição 4 então.. na hora de mostrar o que contem em determinada posição ele mostra mais do que devia , exemplo qual posição deseja mostrar ? posição 3 em vez de mostrar isso nome João ; idade 19 ; ele mostrar Nome joão ; idade 19 ; nome ; idade 0 ; nome ; idade 0 ; nome ; idade 0 ; nome Maria ; idade 19 ; e no caso se pedir para mostrar o que tem na posição 4 ele mostra nome ; idade 0 ; nome ; idade 0 ; nome ; idade 0 ; nome Maria ; idade 19 ; onde deveria ser só nome Maria; idade 19; o código struct dados { int idade; char Nome[50]; }; typedef struct dados Dados; int main() { int N,POS,POS1; Dados D; FILE* fp = fopen("Arquivo.txt","rb+"); if (fp == NULL) { FILE* fp = fopen("Arquivo.txt","wb+"); if (fp == NULL) { printf("Erro"); exit(1); } } while(1) { printf("MENU\n"); printf("Digite 1 para gravar dados\n"); printf("Digite 2 para mostrar dados\n"); printf("Digite 3 para sair\n"); printf("Opcao: "); scanf("%d",&N); printf("\n"); if (N == 0) { break; } if (N == 1) { printf("Entre com um nome: "); scanf("%s",D.Nome); printf("\n"); printf("Entre com a idade: "); scanf("%d",&D.idade); printf("\n"); printf("Digite a posicao que queira gravar: "); scanf("%d",&POS); fseek(fp,POS*sizeof(Dados),SEEK_END); fwrite(&D,sizeof(Dados),1,fp); printf("\n"); } if (N == 2) { printf("Digite a posicao que queira mostar: "); scanf("%d",&POS1); printf("\n"); fseek(fp,POS1*sizeof(Dados),SEEK_SET); while (fread(&D,sizeof(Dados),1,fp)) { printf("Nome: %s ; ",D.Nome); printf("idade: %d ; ",D.idade); printf("\n"); } printf("\n"); } if (N == 3) { break; } } fclose(fp); return 0; }
  14. Pessoal me ajudem com esse exercício: Codifique um programa que leia o preço de compra e o preço de venda de 10 produtos e informe quantos produtos proporcionam: • lucro inferior a 10% • lucro entre 10% e 20% • lucro acima de 20% O programa deve utilizar um procedimento com assinatura void le_precos(int precos[], int quantidade, char opcao[]) para leitura dos preços de compra e venda, utilizando a string opção para identificar o preço de venda ou compra. Uma função deve calcular o lucro de um produto, dados os seus preços como parâmetro.
  15. #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <locale.h> #include <string.h> struct bebidas { char tipo1[50]; char tipo2[50]; char tipo3[50]; char tipo4[50]; float teor1,teor2,teor3,teor4; float valor_bebida1, valor_bebida2, valor_bebida3, valor_bebida4; float tt_bebidas; int cod; } logb[100]; struct evento { int quant_meia,quant_norm,quant_vip; int dia,mes,ano; int vazio,cod; int cont[100]; char nome [30]; char local[30]; int quantidade; float lucro; float valor; float valor_ingres; int open,vend; struct bebidas logb; } logE[100]; int verifica_pos(void); int verifica_cod( int cod ); int opt; void cadastroP(int cod,int pos); void list(); void math(); void cadastrobebida(); void cadastroingress(); void consultaCod (void); void excluirevento (void); int main(void) //INICIO DO MAIN { setlocale(LC_ALL,"portuguese"); int i,Opcao,Opevento,posicao,retorno,ingress; int codaux; do { printf("===================================\n"); printf("1 - Cadastrar Evento\n"); printf("2 - Pesquisar Evento \n"); printf("3 - Ingressos Vendidos \n"); printf("4 - Exibir Resultado Por Evento \n"); printf("5 - Exibir Resultado Geral\n"); printf("6 - Sair \n"); printf("===================================\n"); printf("Digite a Opção desejada\n"); scanf("%d",&Opcao); getchar(); if (Opcao == 1) { printf("Voce selecionou a opcao 1 - Cadastrar Novo Evento\n"); posicao=verifica_pos(); if ( posicao != -1 ) { printf("\nEntre com um codigo de 1 a 50 se for evento open bar: \n"); printf("\nEntre com um codigo de 51 a 100 Se for evento normal: \n"); scanf("%d",&codaux); fflush(stdin); retorno = verifica_cod( codaux ); if ( retorno == 1 ) cadastroP( codaux, posicao ); else { printf("\nCodigo ja existente ou invalido pressione enter para voltar ao menu principal\n"); getchar(); system("cls"); main(); } } else printf("\nNao e possivel realizar mais cadastros!\n"); break; } else if (Opcao == 2) { system("cls"); do { printf("\t\t\t Voce selecionou a opcao 2 - Pesquisar eventos \t\t\t\n\n"); printf("1 - Pesquisar Evento por codigo\n"); printf("2 - Listar todos os Eventos\n"); printf("3 - Cadastrar bebidas evento\n"); printf("4 - Excluir Evento\n"); printf("5 - Voltar ao menu principal\n"); printf("Selecione uma opcao por favor: "); scanf("%d", &Opevento); getchar(); if(Opevento == 1) { consultaCod(); } else if(Opevento == 2) { list(); } else if (Opevento == 3) { printf("Voce selecionou a opcao 3 - Cadastrar Bebidas\n"); cadastrobebida(); } else if (Opevento == 4) { printf("Voce selecionou a opcao 4 - Excluir Evento\n"); excluirevento(); } else if(Opevento == 5) { printf("Voce selecionou voltar ao menu principal, pressione ENTER para continuar"); getchar(); system("cls"); } else printf("Opcao Invalida\n\n"); } while(Opevento =!5 || Opevento > 5 || Opevento < 0 || Opevento == 0); } else if(Opcao == 3) { printf("\t\t\t Voce selecionou a opcao 3 - Ingressos vendidos \t\t\t\n\n"); cadastroingress(); } else if(Opcao == 4) { printf("\t\t\t Voce selecionou a opcao 4 - Resultado por evento \t\t\t\n\n"); math(); } else if (Opcao == 6) { printf("Voce selecionou a opcao 6 - Sair\n"); printf("Deseja Realmente sair aperte enter!!\n\n"); } else { printf("Opcao invalida, favor pressione enter para voltar ao menu principal"); getchar(); system("cls"); } } while (Opcao != 6 || Opcao < 6); } // FIM DO MAIN void math()//Valor ingresso { system("cls"); int i; int Option; char nomeCad[200]; do { printf("\nDigite o nome do evento como esta no cadastro: "); gets(nomeCad); for(i=0; i<100; i++) { if(strcmp(logE[i].nome, nomeCad)==0) { logE[i].valor_ingres = logE[i].valor / logE[i].quantidade; logE[i].vend = logE[i].valor_ingres * logE[i].quant_norm; logE[i].lucro = logE[i].open - logE[i].valor; i++; } } }while(Option == 1); system("cls"); } void cadastroP(int cod, int pos) //Cadastro das pessoas { int i; do { pos = verifica_pos(); logE[pos].cod = cod; printf("\t\t\t================================\t\t\t\n",200,187); printf("\t\t\t | Cadastro Evento | \t\t\t\n "); printf("\t\t\t================================\t\t\t\n",200,187); printf("Digite o Nome do evento \n"); fflush(stdin); gets(logE[pos].nome); printf("Digite o local do evento\n"); fflush(stdin); gets(logE[pos].local); printf("Quantidade de ingresso\n"); fflush(stdin); scanf("%d", &logE[pos].quantidade); printf("Custo total do Evento\n"); fflush(stdin); scanf("%f", &logE[pos].valor); printf("Data do Evento em modo(dd/mm/aaaa)\n"); printf("Data de Realizaçao \n"); fflush(stdin); scanf("%d",&logE[pos].dia); scanf("%i",&logE[pos].mes); scanf("%i",&logE[pos].ano); logE[pos].vazio = 1; printf("\nDigite 1 para efetuar novo cadastro ou qualquer outra tecla para volar ao menu principal"); scanf("%d", &opt); //opt ==1; //getchar(); } while(opt==1); system("cls"); main(); } // FIM DO CADASTRO DE PESSOAS void cadastrobebida() //Cadastro de bebidas { system("cls"); int i; int Option; char nomeCad[200]; do { printf("\nDigite o nome do evento como esta no cadastro: "); gets(nomeCad); for(i=0; i<100; i++) { if(strcmp(logE[i].nome, nomeCad)==0) { printf("\t\t\t================================\t\t\t\n",200,187); printf("\t\t\t | Cadastro bebidas | \t\t\t\n "); printf("\t\t\t================================\t\t\t\n",200,187); printf("Entre com o primeiro tipo de de bebida\n "); fflush(stdin); gets(logb[i].tipo1); printf("Teor Alcolico da bebida"); fflush(stdin); scanf("%f",&logb[i].teor1); printf("Entre com o Valor da Bebida:\n "); fflush(stdin); scanf("%f",&logb[i].valor_bebida1); printf("Entre com o segundo tipo de bebida\n "); fflush(stdin); gets(logb[i].tipo2); printf("Teor Alcolico da bebida"); fflush(stdin); scanf("%f",&logb[i].teor2); printf("Entre com o Valor da Bebida:\n "); fflush(stdin); scanf("%f",&logb[i].valor_bebida2); printf("entre com o terceiro tipo de bebida\n "); fflush(stdin); gets(logb[i].tipo3); printf("Teor Alcolico da bebida"); fflush(stdin); scanf("%f",&logb[i].teor3); printf("Entre com o Valor da Bebida:\n "); fflush(stdin); scanf("%f",&logb[i].valor_bebida3); printf("entre com o quarto tipo de bebida\n "); fflush(stdin); gets(logb[i].tipo4); printf("Teor Alcolico da bebida"); fflush(stdin); scanf("%f",&logb[i].teor4); printf("Entre com o Valor da Bebida:\n "); fflush(stdin); scanf("%f",logb[i].valor_bebida4); printf("\nPressione 1 para continuar cadastrando ou 2 para voltar ao menu principal: "); scanf("%d", &Option); i++; } } } while(Option == 1); system("cls"); } // FIM DO CADASTRO DE BEBIDAS. void cadastroingress() //Cadastro dos ingressos { system("cls"); int i; int Option; char nomeCad[200]; do { printf("\nDigite o nome do evento como esta no cadastro: "); gets(nomeCad); for(i=0; i<100; i++) { if(strcmp(logE[i].nome, nomeCad)==0) { printf("\t\t\t================================\t\t\t\n",200,187); printf("\t\t\t | Ingressos Vendidos | \t\t\t\n "); printf("\t\t\t================================\t\t\t\n",200,187); printf("Entre Com A Quantidade de Ingressos open bar \n "); fflush(stdin); scanf("%2d",logE[i].quant_vip); printf("Entre Com A Quantidade de Ingressos normal\n"); fflush(stdin); scanf("%d",logE[i].quant_norm); printf("Entre Com A Quantidade de Ingressos Meia\n "); fflush(stdin); scanf("%d",logE[i].quant_meia); printf("\nPressione 1 para continuar cadastrando ou 2 para voltar ao menu principal: "); scanf("%d", &Option); i++; } } } while(Option == 1); system("cls"); } // FIM DO CADASTRO DE INGRESSOS. void list() // Lista os usuarios cadastrados. { int i,j; for(i=0; i<100; i++) { if(logE[i].cod!=NULL) { printf("\nCodigo: %d \nNome: %s\nlocal: %s\ndata: %d/%i/%i\n\n", logE[i].cod,logE[i].nome,logE[i].local,logE[i].dia,logE[i].mes,logE[i].ano); } } printf("Nenhum codigo cadastrado!!\n"); printf("Pressione enter para volta ao menu principal"); getchar(); system("cls"); } //FIM DO LIST int verifica_pos( void ) //VERIFICADOR DA POSIÇÃO { int cont = 0; while ( cont <= 100 ) { if ( logE[cont].vazio == 0 ) return(cont); cont++; } return(-1); } // FIM DO VERIFICADOR int verifica_cod( int cod ) // VERIFICADOR DE CÓDIGO { int cont = 0; while ( cont <= 100 ) { if ( logE[cont].cod == cod ) return(0); cont++; } return(1); } // FIM DO VERIFICADOR void consultaCod (void) // CONSULTAR 1 CADASTRADO QUALQUER VIA CÓDIGO DADO POR USUÁRIO. { int cont = 0, cod; printf("\nEntre com o codigo\n"); scanf("%d",&cod); fflush(stdin); system("cls"); while ( cont <= 100 ) { if (logE[cont].cod==cod) { if (logE[cont].vazio==1) { if (cont<=50) { printf("Evento open Bar\n"); printf("\nCodigo: %d \nNome: %s\nLocal: %s\nData: %d/%i/%i\n\n", logE[cont].cod,logE[cont].nome,logE[cont].local,logE[cont].dia,logE[cont].mes,logE[cont].ano); system ("pause"); }else if(cont>50) { printf("Evento normal"); printf("\nCodigo: %d \nNome: %s\nLocal: %s\nData: %d/%d/%d\n\n", logE[cont].cod,logE[cont].nome,logE[cont].local,logE[cont].dia,logE[cont].mes,logE[cont].ano); system ("pause"); } system("cls"); break; } } cont++; if ( cont > 100 ) { printf("\nCodigo nao encontrado, pressione enter para volar ao menu principal\n"); getchar(); system("cls"); } } } // FIM DA FUNÇÃO CONSULTAR void excluirevento(void) // EXCLUI CLIENTE { int cod, cont = 0; char resp; printf("\nEntre com o codigo do registro que deseja excluir: \n"); scanf("%d", &cod ); while ( cont <= 100 ) { if ( logE[cont].cod == cod ) { if (logE[cont].vazio == 1 ) { printf("\nCodigo: %d \n nome: %c \n data: %d//%d//%d \n local: %c \n",logE[cont].cod,logE[cont].nome,logE[cont].dia,logE[cont].mes,logE[cont].ano,logE[cont].local); getchar(); printf("\nDeseja realmente excluir? s/n: "); scanf("%s",&resp); if ( ( resp == 'S' ) || ( resp == 's' ) ) { logE[cont].vazio=0; logE[cont].cod = NULL; printf("\nExclusao feita com sucesso\n"); break; } else { if ( ( resp == 'N' ) || ( resp == 'n' ) ) { printf("Exclusao cancelada!\n"); break; } } } } cont++; if ( cont > 100 ) printf("\nCodigo nao encontrado\n"); } system("pause"); system("cls"); } Um promoter deseja controlar todos os eventos dos quais participa e você foi contratado para resolver esse problema. Assim que começou o trabalho, você ficou sabendo que o cadastro de um evento necessita de: identificador único (um código inteiro), nome, local, data da realização, quantidade de ingressos colocados à venda, custos de organização e valor da entrada. Foi-lhe informado também que existem sempre três valores de entrada: o 1o valor, para as entradas do tipo popular; o 2o valor, para as entradas do tipo normal e o 3o valor para as entradas do tipo especial. Alguns desses eventos são festas open bar, possuindo assim, além de todas as informações anteriores, uma relação das quatro bebidas que serão servidas. As informações das bebidas, por sua vez, são nome, teor alcóolico e valor unitário. O valor das entradas populares é calculado automaticamente, da seguinte forma:  eventos open bar: R$ 60,00 mais 50% do valor unitário de cada bebida que será servida;  demais eventos: custo de organização dividido pela quantidade de ingressos colocados à venda. O valor da entrada normal é o valor da entrada popular mais 10% desse mesmo valor. Já o valor da entrada especial é o valor da entrada normal mais 15% desse mesmo valor. Você deverá implementar um sistema que cadastre os eventos desse promoter. O cadastro dos eventos deverá ser finalizado quando for inserido 0 (zero) para o identificador único. O sistema deverá funcionar com o seguinte menu de opções: 1 – Cadastrar evento 2 – Pesquisar evento 3 – Ingressos vendidos 4 – Exibir resultado por evento 5 – Exibir resultado geral 6 – Sair Instituto Federal do Triângulo Mineiro - Campus Paracatu Tecnólogo em Análise e Desenvolvimento de Sistemas Trabalho de Conclusão da Disciplina Disciplina: Algoritmos Turma: ADS1 Professor: Gustavo Alexandre de Oliveira Silva Aluno (a): Data: Valor: 16,0 pts Resultado: A opção 1 cadastra os dados de cada evento: identificador único, nome, local, data da realização, quantidade de ingressos colocados à venda, custos de organização e valor da entrada. A opção 2 pesquisa os dados de cada evento, através do seu identificador único e exibe todos os dados na tela. A opção 3 pesquisa os dados de cada evento, através do seu identificador único e insere a quantidade de ingressos (popular, normal ou especial) que foram vendidos para o respectivo evento. Feito isso, o sistema deverá calcular se o respectivo evento teve lucro ou prejuízo. A opção 4 exibe o resultado (lucro ou prejuízo) de um dado evento, informado pelo usuário através do seu identificar único. A opção 5 exibe o saldo atual do promoter, levando em consideração todos os eventos já realizados. A opção 6 encerra o programa.
  16. #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> #define SIZE 200 #include<locale.h> #include<conio.h> #include <time.h> char nome [50]; char email [50]; int cpf ; int op; char ap; void cadastro(); void pesquisa(); void lista(); int main (void){ setlocale(LC_ALL, "Portuguese"); do{ system("cls"); printf(" MENU \n\n"); printf("\t I - incluir uma nova pessoa\n"); printf("\t B - buscar uma pessoa pelo nome\n"); printf("\t L - listar todas as pessoas\n"); printf("\tESC - para sair do cadastro\n"); ap = getche(); switch(ap) { case 'I': cadastro(); break; case 'B': pesquisa(); break; case 'L': lista(); break; case 27: printf("tchau"); break; default: printf("opção inválida"); break; } }while(ap!=27); } void lista(){ int i; for(i=0;i<SIZE;i++){ if(cpf>0){ printf("\nome: %s\nEmail: %s\nCPF: %d", nome, email, cpf); }else{ break; } } } void cadastro(){ static int linha; do{ printf("\ndigite o nome: "); scanf("%s", &nome[linha]); printf("\ndigite o email: "); scanf("%s", &email[linha]); printf("\ndigite o cpf: "); scanf("%d", &cpf[linha]); printf("\nDigite 1 para continuar ou outro valor para sair"); scanf ("%d", &op); linha++; }while (op==1); } void pesquisa(){ char nomepesquisa; int i; do{ printf("\nDigite o nome:"); scanf("%s", &nomepesquisa); for(i=0;i>SIZE;i++){ if(nome==nomepesquisa){ printf("\nNome: %s\nEmail: %s\nCPF: %d", nome, email, cpf); } } printf("\nDigite 1 para continuar pesquisando"); scanf("%d", &op); }while(op==1); } Estou com um problema neste código. estou começando agora na parte de programação e não entendo muito. #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> #define SIZE 200 #include<locale.h> #include<conio.h> #include <time.h> char nome [50]; char email [50]; int cpf ; int op; char ap; void cadastro(); void pesquisa(); void lista(); int main (void){ setlocale(LC_ALL, "Portuguese"); do{ system("cls"); printf(" MENU \n\n"); printf("\t I - incluir uma nova pessoa\n"); printf("\t B - buscar uma pessoa pelo nome\n"); printf("\t L - listar todas as pessoas\n"); printf("\tESC - para sair do cadastro\n"); ap = getche(); switch(ap) { case 'I': cadastro(); break; case 'B': pesquisa(); break; case 'L': lista(); break; case 27: printf("tchau"); break; default: printf("opção inválida"); break; } }while(ap!=27); } void lista(){ int i; for(i=0;i<SIZE;i++){ if(cpf>0){ printf("\nome: %s\nEmail: %s\nCPF: %d", nome, email, cpf); }else{ break; } } } void cadastro(){ static int linha; do{ printf("\ndigite o nome: "); scanf("%s", &nome[linha]); printf("\ndigite o email: "); scanf("%s", &email[linha]); printf("\ndigite o cpf: "); scanf("%d", &cpf[linha]); printf("\nDigite 1 para continuar ou outro valor para sair"); scanf ("%d", &op); linha++; }while (op==1); } void pesquisa(){ char nomepesquisa; int i; do{ printf("\nDigite o nome:"); scanf("%s", &nomepesquisa); for(i=0;i>SIZE;i++){ if(nome==nomepesquisa){ printf("\nNome: %s\nEmail: %s\nCPF: %d", nome, email, cpf); } } printf("\nDigite 1 para continuar pesquisando"); scanf("%d", &op); }while(op==1); }
  17. KrilMun

    Algoritmo AFD

    Boa noite pessoal, É meu primeiro post no fórum, havia descoberto ele há alguns dias procurando sobre o mesmo assunto do título, e acho que vocês poderiam me ajudar. O seguinte código representa um AFD simples para o reconhecimento de constantes reais com exponenciação. #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> int testePalavra(int contador, char palavra[]); int testePosicao(int e, int estadoFinal[]); int main() { char palavra[] = "+32E-52E"; int estadoFinal[] = {3, 5, 9}; int estadoIncial = 0; int i; //+ //- //. //E //Digito int tabelaTransicoes[10][5] = {{1, 1, 2, -1, 3}, //q0 {-1, -1, 2, -1, 3}, //q1 {-1, -1, -1, -1, 5}, //q2 {-1, -1, 4, 6, 3}, //q3 {-1, -1, -1, -1, 5}, //q4 {-1, -1, -1, 6, 5}, //q5 { 8, 8, -1, -1, 9}, //q6 {-1, -1, -1, -1, 9}, //q8 {-1, -1, -1, -1, 9}}; //q9 int e = estadoIncial; printf("Estado Inicial q%d\n", e); int contador = 0; for (i = 0; i < strlen(palavra); i++) { char c = palavra[i]; int coluna; if (c == '+') { printf("Caractere lido: %c\n", c); coluna = 0; } else if (c == '-') { printf("Caractere lido: %c\n", c); coluna = 1; } else if (c == '.') { printf("Caractere lido: %c\n", c); coluna = 2; } else if (c == 'E') { printf("Caractere lido: %c\n", c); coluna = 3; } else if (isdigit(c)) { printf("Caractere lido: %c\n", c); coluna = 4; } else { printf("Caractere lido: %c\n", c); coluna = -1; printf(" Transicao invalida: Caractere nao aceito!\n"); break; } e = tabelaTransicoes[e][coluna]; if (e != -1) { contador++; printf(" Transicao para q%d", e); if (testePosicao(e, estadoFinal)) printf(" | Estado Final"); else printf(" | Estado Nao-Final"); printf("\n"); } else{ printf(" Transicao invalida: Erro de leitura!\n"); break; } } if ((testePalavra(contador, palavra)) && (testePosicao(e, estadoFinal))) { printf("\nA palavra %s foi aceita pelo AFD!", &palavra); } else{ printf("\nA palavra %s foi recusada pelo AFD!", &palavra); } return 0; } int testePalavra(int contador, char palavra[]){ //Teste para verificar se a if (contador == strlen(palavra)) return 1; else return 0; } int testePosicao(int e, int estadoFinal[]){ //Teste para verificar se a posição em que a palavra terminou é estado final int i; int status = 0; for(i = 0; i < sizeof(estadoFinal); i++){ if (e == estadoFinal[i]){ status = 1; break; } } return status; } int tabelaTransicoes[10][5] = {{1, 1, 2, -1, 3}, //q0 {-1, -1, 2, -1, 3}, //q1 {-1, -1, -1, -1, 5}, //q2 {-1, -1, 4, 6, 3}, //q3 {-1, -1, -1, -1, 5}, //q4 {-1, -1, -1, 6, 5}, //q5 { 8, 8, -1, -1, 9}, //q6 { 0, 0, 0, 0, 0}, //q7 {-1, -1, -1, -1, 9}, //q8 {-1, -1, -1, -1, 9}}; //q9 //EDIT 2: Problema corrigido apenas por inserir um novo array na matriz, "q7", com todos os valores 0. //O porquê eu não sei hahahaha ainda estou em dúvida! Se alguém souber responder, agradeço! #Estou fazendo um trabalho da faculdade, em que foi pedido um AFD para reconhecimento de constantes reais com exponenciação, e acabei de concluí-lo, porém estou #com um erro totalmente sem sentido, que ainda não consegui compreender o que é. #A palavra que estou usando como teste demonstra o erro, segundo a tabela de transições, quando eu chego no estado q9 eu não posso mais sair dele (e isso está explícito #na matriz que eu declarei), porém de alguma forma ela está voltando para q5, o que possibilita inserir um E após os dígitos. #Preciso da resposta urgente, quem puder me ajudar agradeço! Problema acima corrigido, agora preciso saber o porquê de essa alteração ter resolvido..
  18. relampagomarquinhos

    Erro de ponteiros

    Como resolver?
  19. Olá pessoal, Estou cursando Engenharia Nuclear na UFRJ e tenho um projeto em mente. Tenho 19 anos, não tenho pressa para aprender a linguagem. Para a realização do projeto eu precisaria conhecer uma linguagem de programação e, considerei que o C seria interessante, já que é uma linguagem "completa", que atua tanto em alto quanto em baixo nível (Perdoem caso eu esteja falando besteira). Fui na biblioteca e procurei algum livro de C.. encontrei de Pascal, Basic, Assembly ..... Etc etc e quando estava quase perdendo as esperanças encontrei um de C. O livro é antigo, comecei a ler e estou gostando, é meio que um guia completo e explica bem. Com uma rápida pesquisa na internet, ví que o C já teve várias atualizações desde então, logo, não sei se vale a pena continuar lendo o livro.. o que acham? É uma total perda de tempo? Se sim, me indicam um livro ( que não seja caro, pois estou desempregado kk)? Vou deixar em anexo algumas fotos do livro.
  20. segue a baixo a questão, a minha duvida é o seguinte, como fazer a soma dos valores recebidos... onde coloca-los para receber o valor certinho, como diz na questão que cada fileira tem um valor, isso eu não entendi ainda A faculdade X pensou em montar um projeto para ajudar os acadêmicos de Engenharia da Computação a levantar dinheiro para sua formatura, a faculdade agora montou uma armário 2 linhas e 13 colunas, ou seja dois andares de armários até 13 totalizando 26 armários disponíveis. Sua tarefa agora é desenvolver um controle para uso de moedas para utilizar os armários. O valor determinado para cada armário é: Armários da fileira debaixo custam R$ 0,50 Armários da fileira superior R$ 1,00. A cada armário mais distante do canto inicial é adicionado R$ 0,10 no valor. Seu programa deverá ter as funcionalidades abaixo: 1 – Exibir todos os armários identificando disponíveis e ocupados. 2 – Exibir todos os armários e o valor recebido até então. 3 – Utilizar armário. Para utilizar o armário deverá informar seu número da linha e da coluna. Se estiver sendo utilizado deve informar: ARMARIO OCUPADO. 4 – Liberar armário. Para liberar o armário deverá informar seu número da linha e da coluna. Se estiver vago deve informar: ARMARIO JÁ ESTA VAGO. 5 – Realizar recebimento. (Nesta funcionalidade você terá que zerar os valores recebidos e contabilizar quanto foi lucrado). 6 – Sair. (Só poderá sair se todos os armários estiverem desocupados, ou seja, deverá realizar o recebimento antes de sair).
  21. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #include <ctype.h> int main() { char senha [4], numeros[4], existe[5], mesmapos[5], opcao = 'S'; int i = 0, j = 0, k = 0, indice_existe = 0, indice_mesmapos = 0; existe[5] = '\0'; mesmapos[5] = '\0'; while ( opcao == 'S' ) { //Zera vetores memset(existe, '\0', sizeof(existe) ); memset(mesmapos, '\0', sizeof(mesmapos) ); memset(senha, '\0', sizeof(senha) ); // Numero de tentativas for ( i = 1; i <= 10; i++ ) { printf("\n\t\t\tSeja bem vindo ao Jogo da Senha\n\nDigite a senha : "); fflush(stdin); for (i=0;i<4;i++) scanf("%s" , &senha [i]); system("cls"); // Zera controladores de indice indice_existe = 0; indice_mesmapos = 0; // Valores do segundo jogador printf("Tentativa numero %d\nDigite seus 4 numeros (EX: 1234):\n", i); fflush( stdin ); scanf("%s", numeros); for ( j = 0; j < 4; j++ ) // Para numeros[] { for ( k = 0; k < 4; k++ ) // Para senha[] { if ( ( numeros[j] == senha[k] ) && ( indice_existe < 4 ) ) // Se existir, insere na lista existe[] { existe[indice_existe] = numeros[j]; indice_existe++; if ( j == k ) // E se estiver na mesma posicao, insere na lista mesmapos[] { mesmapos[indice_mesmapos] = numeros[j]; indice_mesmapos++; } } } } // Lista valores do usuario que existem na senha for ( j = 0; existe[j] != '\0'; j++ ) printf("Tem na senha: %c\n", existe[j] ); // Lista valores do usuario que existem na senha e estão na mesma posicao for ( j = 0; mesmapos[j] != '\0'; j++ ) { printf("Mesma posicao: %c\n", mesmapos[j] ); if ( j == 3 ) // Se o array foi completo, então acertou a resposta { printf("Parabens, acertou!!\n"); return 0; } } } printf("Infelizmente voce errou!\n"); printf("Deseja jogar novamente? (S/N)\n"); fflush(stdin); scanf("%c", &opcao ); opcao = toupper( opcao ); } return 0; }
  22. segue abaixo a questão e o codigo, gostaria que dessem uma olhada pra ver se ta tudo certo :) Você foi chamado para fazer um jogo muito parecido com a forca. A regra do jogo é bem parecida, você deve solicitar uma frase secreta até 50 caracteres (permitindo espaço) e após informada a frase deve apagar a tela e iniciar a sugestão de letras ou números. O seu sistema deverá mostrar MORTO caso o jogador errar mais de 10 vezes, caso ele acertar a frase escondida deve mostrar VIVO. Em ambos os casos após o resultado deverá sair do programa. codigo 1.4.txt
  23. #include <stdio.h> #include <conio.h> #include <locale.h> #include <stdlib.h> main() { setlocale(LC_ALL,"Portuguese"); int ma[3][3], mb[3][3], mc[3][3], i, j, x, aux; char g; for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("Insira o valor do elemento localizado em %dx%d:", i+1, j+1); scanf("%d", &ma[i][j]); } } system("cls"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("Insira o valor do elemento localizado em %dx%d:", i+1, j+1); scanf("%d", &mb[i][j]); } } system("cls"); printf("\tMatriz A\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%dx%d=%d\t", i+1, j+1, ma[i][j]); } printf("\n"); } printf("\n\n\n\tMatriz B\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%dx%d=%d\t", i+1, j+1, mb[i][j]); } printf("\n"); } for(i=0;i<3;i++); { for(j=0;j<3;j++); { for(x=0;x<3;x++); { aux+=(ma[i][x]*mb[x][j]); } mc[i][j]=aux; aux=0; } } printf("\n\n\n\tMatriz C\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%dx%d=%d\t", i+1, j+1, mc[i][j]); } printf("\n"); } g=getch(); } O programa está rodando certinho, ele coleta todas as matrizes, mas na hora de exibir a matriz c aparece uns números não esperados. Alguem consegue ver o erro?
  24. Segue abaixo um problema podendo usar vetores ou matrizes, eu não estou conseguindo fazer ele direito, se puderem me ajudar agradeceria A faculdade X pensou em adotar armários para os alunos deixarem seus materiais, da mesma forma que as universidade Americanas. Com isso, ela pensou nos alunos de Engenharia da Computação para montar a automação deste sistema. Para testar o sistema terá que controlar 10 armários. Monte um menu de opções que será exibido num display de controle conforme o exemplo abaixo e implemente as rotinas para que cada opção do menu funcione corretamente: MENU 1 – Mostrar a situação de todos os armários, exemplo: Armario 0: Ocupado, Armario 1: Ocupado, Armario 2: Livre... 2 – Mostrar os armários livres, exemplo: Armario 2, Armario 4, Armario 8... 3 – Utilizar Armário: Informar o número de um armário livre e marcá-lo como ocupado, caso o armário estiver ocupada avisar o usuário ARMARIO SENDO UTILIZADO. 4 – Remover Armário: Informar o número de um armário ocupado e fazer a liberação do armário, caso o armário estiver livre avisar o usuário ARMARIO NAO ESTA SENDO UTILIZADO. 5 – Resumo do Armário, exemplo: 3 Armários livres, 7 Armários ocupados 0 - Sair Observações: O programa deve iniciar com todos os Armários livres e o menu deve ficar em loop infinito, ou seja, depois de escolher qualquer opção deve sempre voltar ao menu. O menu deve tratar opções inválidas.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.