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
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

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 194 results

  1. É possível verificar a ocorrência de um caractere em negrito em uma planilha do Excel utilizando c/c++?
  2. O sistema consiste em ler os dados cadastrados (valores estáticos) de uma entrevista e fornecer as informações para as seguintes perguntas: 1 - Quantidade de mulher e homens na área? (% de cada sexo) 2 - Faixa etária? (Menor e maior idade por sexo). Criar um vetor idade para cada sexo. 3 - Quem ganha mais? Homem ou Mulher? (Comparar médias de salários) 4 - Quem é mais especializado? (Comparar quantidade com pós-graduação %) Ex1. Perguntas? Sexo (1- H, 2-M) Idade (?) Salário (?) Possui pós-graduação? (1-S, 2-N) Entrada (estática) Entrevistado 1 Sexo = 1 Idade = 19 Salário = 4.000,00 Possui pós-graduação = 2 Entrevistado 2 Sexo = 2 Idade = 25 Salário = 3.000,00 Possui pós-graduação = 1 Entrevistado 3 Sexo = 1 Idade = 18 Salário = 5.000,00 Possui pós-graduação = 2 Entrevistado 4 Sexo = 1 Idade = 23 Salário = 6.000,00 Possui pós-graduação = 1 Entrevistado 5 Sexo = 2 Idade = 30 Salário = 2.000,00 Possui pós-graduação = 1 SAÍDA 1 - Quantidade de mulher e homens na área? 60% homens e 40% mulheres 2 - Faixa etária? homens (18-23) e mulheres (25-30) 3 - Quem ganha mais? Homem ou Mulher? Homens (média 5.000,00) e Mulheres (média 2.500,00) 4 - Quem é mais especializado? homens - 33% e mulheres - 100% Cálculo = qtdhomens com pós/qtdhomens *100
  3. Questão 1 Crie um algoritmo que leia um número entre 2 e 20 e gere uma tela com a seguinte configuração: Digite um número: 4 Saída do algoritmo: 1 12 123 1234 123 12 1 Questão 2 Escreva um algoritmo que calcule a média da seguinte sequência numérica a seguir: 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + ... + 1/50. Feito isto, o algoritmo deverá apresentar uma lista contendo todos os números da sequencia que estão acima da média calculada. Questão 3 Um posto está vendendo combustíveis com a seguinte tabela de descontos: Álcool: até 20 litros, desconto de 3% por litro e acima de 20 litros, desconto de 5% por litro; Gasolina: até 20 litros, desconto de 4% por litro e acima de 20 litros, desconto de 6% por litro. Escreva um algoritmo que leia o número de litros vendidos, o tipo de combustível (A-álcool, G-gasolina) e imprima o valor a ser pago pelo cliente. Considere que o preço do litro da gasolina é R$ 2,99 e o preço do litro do álcool é R$ 2,19. Usar procedimento. Questão 4 Um número é, por definição, primo se ele não tem divisores, exceto 1 e ele próprio. Prepare um programa para ler um número inteiro positivo e determinar se ele é ou não um número primo. Usar função.
  4. Estou com dificuldade para elaborar o seguinte código:
  5. Neste programa eu recebo as siglas para cada operação, como eu poderia printar conforme eu as solicitei com, o programa se encerra quando OOO é digitado. exemplos de entrada 18 12 MOD MDC OOO saida MDC(18,12) = 6 MOD(18,12) = 6 ***código abaixo #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> int MDC(int n1, int n2); int MOD(int n1, int n2); int POT(int n1, int n2); int main(){ char x[100]; int n1=0, n2=0 , rmdc = 0, rmod = 0, rpot = 0; scanf("%d",&n1); scanf("%d",&n2); rmdc = MDC(n1,n2); rmod = MOD(n1,n2); rpot = POT(n1,n2); do{ scanf("%s", x); if(strcmp(x,"MDC") == 0){ printf("MDC(%d,%d) = %d\n", n1, n2, rmdc); } else if(strcmp(x,"MOD") == 0){ printf("MOD(%d,%d) = %d\n", n1, n2, rmod); } else if(strcmp(x,"POT") == 0){ printf("POT(%d,%d) = %d\n", n1, n2, rpot); } else if(strcmp(x,"OOO") == 0){ break; } } while (strcmp(x,"OOO") != 0); return 0; } int MDC(int n1, int n2){ if (n2==0) return n1; return MDC(n2, n1 % n2); } int MOD(int n1, int n2){ int res; res = n1 % n2; return res; } int POT(int n1, int n2) { if(n2 == 0) return 1; else if(n2 > 0) return n1 * POT(n1, n2-1); }
  6. Tenho que criar um código que imprime os 5 numeros anteriores, por exemplo: se o usuario digitar 30, tem que ser impresso 29, 28, 27, 26, 25. Eu conseguir criar um código, porem começa do numero atual, se eu digito 30 começa do 30 e não é isso que eu quero. Eu consigo fazer isso tranquilo com um for, mas preciso que seja com recursividade. O codigo que criei foi esse: #include <stdio.h> long int number(int num, int y){ if(num > y-5){ printf(" %d ", num); number(num - 1, y); } else{ return 0; } } int main() { int N; int y; printf("Digite um numero inteiro positivo: "); scanf("%d", &N); y = N; number(N, y); return 0; }
  7. char

    Ajuda em logins.

    Olá, sou inciante em programação, estamos aprendendo C, preciso de ajuda para o seguinte: 1- Fiz para salvar em vetor um código somente de números e uma senha tbm de números. int telacadastro () { int i, logar[50], senha[50]; printf ("Vamos executar o cadastro, para isso digite apenas o login e a senha(somente numeros):\n"); for (i=0; i<=0; i++) { printf ("Escolha um codigo de login de até 4 numeros. Ex: 2134:"); scanf("%d", &logar); break; } for (i=0; i<=0; i++) { printf ("Escolha uma senha, somente de numeros, até 8 numeros:"); scanf ("%d", &senha); } main(); return 0; } 2 - O próximo passo seria comparar esses vetores: int telalogin () { int i, cli_logar[50], cli_senha[50], logar[50], senha[50]; printf("Digite seu codigo:"); scanf("%d", &cli_logar); printf("Digite sua senha:"); scanf("%d", &cli_logar); for (i=0; i<=49; i++) { if((cli_logar==logar) && (cli_senha==senha)) { printf("Acesso Liberado."); break; } else { printf("Login Errado."); break; } } } Alguém ai que me ajude, o programa copila e roda, só que não salva o código e senha, nem compara, acredito que a logica esteja errada. Agradeço amigos.
  8. Vinicius G. Vieira

    Atividade da faculdade de C

    Construa um algoritmo que leia uma quantidade indeterminada de números inteiros positivos e identifique qual foi o maior número digitado. Para encerrar a série de números informada deve ser digitado o valor “-1”. Eu fiz a maioria do comando... mas não estou conseguindo fazer com que o programa informe o maior numero. desde já obrigado pela ajuda. #include <stdio.h> #include <math.h> #include <stdlib.h> void main () { int x, y; printf("digite -1 para cessar comando \n"); while (x!=0 && x!=-1) { printf("digite valores positivos \n"); scanf("%i", &x); if (x<<0 && x!=-1) { printf("valor nao valido"); } } printf("maior valor %i é", x); }
  9. juliaKrunker

    Lista Encadeada

    1- O comando typedef pode ser utilizado para criar novos comandos, ou simplesmente novas formas de escrever determinados comandos em linguagem C. Por exemplo, toda vez que você quiser criar uma variável do tipo struct declarado acima, terá que escrever o nome completo do tipo, isto é struct lista. Usando o comando typedef, defina um tipo alternativo, chamado Lista, que possa ser usado em lugar de struct lista. 2- Usando o tipo Lista que você criou na questão 3, declare uma variável chamada myList que possa ser utilizada para construir uma lista encadeada. 3- (0,5) Usando o tipo Lista que você criou na questão 3, declare uma variável chamada novo que possa ser utilizada para criar um novo elemento para a lista declarada na questão 4. 4- Escreva uma linha de código que aloque espaço na memória para a variável novo declarada na questão 5, de forma que a variável possa ser utilizada para inserir um novo elemento na lista myList declarada na questão 4. 5 -Considerando a variável myList declarada na questão 4 e a variável novo declarada na questão 5 e alocada na questão 6, atribua os valores 1 para o atributo id e 9.1 para o atributo valor e insira-a na lista myList. 6- O trecho de código apresentado a seguir, refere-se a uma função que receberá como parâmetro um ponteiro para uma lista do tipo Lista e deverá calcular e retornar a média dos valores existentes na lista. Escreva o corpo da função.
  10. nixfb

    help

  11. Estou iniciando em programação e tenho um trabalho em C que devo: Construir um programa que leia uma matriz 7x7 de inteiros. Após a leitura, calcular o somatório apenas dos elementos abaixo destacados da matriz lida. Mostre, os elementos destacados e o somatório. A soma deve ser entre as posições da matriz refentes a imagem em anexo. É esta a dificuldade que eu encontrei, não sei os passos para realizar esta soma em específico então provavelmente a minha tentativa abaixo foi bizarra. Alguém poderia me ajudar? Agradeço desde já. #include<stdio.h> #include<conio.h> #define linha 7 #define coluna 7 int main (void ) { int i, j, matriz[linha][coluna], result, soma; printf ("\nDigite valor para os elementos da matriz\n\n"); for ( i=0; i<linha; i++ ){ for ( j=0; j<coluna; j++ ){ printf ("\nElemento[%d][%d] = ", i, j); scanf ("%d", &matriz[ i ][ j ]); } } for ( i=0; i<linha; i++ ){ for ( j=0; j<coluna; j++ ){ printf ("%i", matriz[i][j]); } printf("\n"); } for ( i=0; i<linha; i++ ){ for ( j=0; j<coluna; j++ ){ result=result+matriz[i][j]; } } for ( i=0; i<linha; i++ ){ for ( j=0; j<coluna; j++ ){ soma=soma+matriz[3][3]+matriz[4][2]+matriz[4][3]+matriz[4][4]+matriz[5][1]+matriz[5][2]+matriz[5][3]+matriz[5][4]+matriz[5][5]+matriz[6][0]+matriz[6][1]+matriz[6][2]+matriz[6][3]+matriz[6][4]+matriz[6][5]+matriz[6][6]; } } printf("\n\nA soma de todos valores da matriz: %d\n", result); printf("\n\nA soma dos valores solicitados: %d\n", soma); }
  12. programa { inclua biblioteca Matematica funcao inicio() { inteiro hom=0, mul=0, rsim=0, rnao=0, rhsim=0, rmsim=0, n, t=4 real psim, pnao caracter sexo, resp (n == t) { leia ("Informe o Sexo: ", sexo) leia ("Gostou do produto (S/N): ", resp) se (sexo =='1') { hom = hom + 1 se (resp == '1') { rmnao = rmnao + 1 } } senao { se (sexo == '2') { mul = mul + 1 se (resp == '2') { rhsim = rhsim + 1 } } } se (resp == '1') { rsim = rsim +1 } senao { se (resp == '2') { rnao = rnao +1 } } n = n + 1 } psim = 100 * (rmsim / t) pnao = 100 * (rhnao / t) } escreva ("Quantidade de pessoas que responderam sim: ", rsim) escreva ("Quantidade de pessoas que responderam não: ", rnao) escreva ("Porcentagem de mulheres que responderam sim: ", psim) escreva ("Porcentagem de homens que responderam não: ", pnao) }
  13. estou tentando fazer um programa que verifique 3 valores e informe o maior, o menor e se forem iguais! oq ta errado #include<stdio.h> #include<stdlib.h> #include<locale.h> int main() { setlocale(LC_ALL,"Portuguese"); int maior,menor; float a,b,c; printf("\n\tDigite 3 valores: \n"); scanf("%f%f%f",&a,&b,&c); if (a>b&&a>c) { maior=a; } else{} if (b>a&&b>c) { maior=b; } else{} if(c>a&&c>b) { maior=c; } if (a<b&&a<c) { menor=a; } else{} if(b<a&&b<c) { menor=b; } else{} if(c<a&&c<b) { menor=c; } else{} if (a==b&&b==c&&a==c) { printf("\n\tValores iguais\n\n"); } else{} printf("\n\tO maior é: %d\n\tO menor é: %d\n\n",maior,menor); system("pause"); return 0; }
  14. Keven Augusto

    Cronômetro em C

    Primeiramente, bom dia/boa tarde/boa noite. Eu estou migrando de vez para o Linux e percebi que não possui nenhuma aplicação nativa de cronometro como a que estava acostumado a utilizar no Windows 10. Eu faço home office, então uso muito para gerir o tempo de trabalho diário e gostaria de utilizar no Ubuntu também. Procurei na loja do sistema, mas não encontrei nenhum que me agradasse e, como estudante de Engenharia de Computação, pensei em fazer um simples que execute no terminal mesmo e possua as funções básicas que preciso: start, pause e reset. Porém, estava pensando e não aprendi ainda e não tenho a menor ideia de como faria para que fosse exibido no terminal o contador e ao mesmo tempo examinar o teclado para que pause a execução caso seja pressionada uma determinada tecla. Alguém teria alguma ideia de como possa fazer para isso? Eu pensei em iniciar um novo terminal via código mesmo e ir mostrando o contador neste outro terminal, aí no primeiro eu insiro os comandos para pausar, começar ou reiniciar o tempo. Penso que seja mais ou menos isso que preciso fazer, mas não tenho certeza e gostaria de uma luz.
  15. Lísias de Castro

    trajeto linear em linguagem c

    Ola, sou Lísias e gostaria de saber se alguém poderia me ajudar nessa tarefa tão difícil para finalizar minha biblioteca. Eu fiz um motor de jogos, e nele já consegui implementar todas as funções básicas para um uso primário. Fazendo a criação de jogos simples através dela. Mas estou desenvolvendo um rpg, e resolvi fazer com que os personagens atirem a longa distância. Porém, para que isso aconteça, tenho que fazer com que o objeto a ser atirado sempre corra em linha reta. Criei uma função que faz com que todos os objetos se movam na tela, mas ela não funciona de uma maneira linear. O que posso modificar nessa função para que ela me proporcione isso? static STATUS place_user_move(OBJECT_SET * U, BP32 x, BP32 y) { if (U == NULL)return (Off); if (U->x_route == x) { if (U->y_route > y) { U->y_route -= U->y_speed; U->where_stop_but(U, NORTH); if (U->y_route < y) { U->y_route = y; U->where_stop(U); return (On); } } if (U->y_route < y) { U->y_route += U->y_speed; U->where_stop_but(U, SOUTH); if (U->y_route > y) { U->where_stop(U); U->y_route = y; return (On); } } return (Off); } if (U->y_route == y) { if (U->x_route > x) { U->x_route -= U->x_speed; U->where_stop_but(U, WEST); if (U->x_route < x) { U->where_stop(U); U->x_route = x; return (On); } } if (U->x_route < x) { U->x_route += U->x_speed; U->where_stop_but(U, EAST); if (U->x_route > x) { U->where_stop(U); U->x_route = x; return (On); } } return (Off); } if (U->x_route > x) { U->x_route -= U->x_speed; if (U->x_route < x)U->x_route = x; if (U->y_route > y) { U->y_route -= U->y_speed; U->where_stop_but_and(U, NORTH, WEST); if (U->y_route < y)U->y_route = y; } if (U->y_route < y) { U->where_stop_but_and(U, SOUTH, WEST); U->y_route += U->y_speed; } } if (U->x_route < x) { U->x_route += U->x_speed; if (U->x_route > x)U->x_route = x; if (U->y_route < y) { U->y_route += U->y_speed; U->where_stop_but_and(U, SOUTH, EAST); if (U->y_route > y)U->y_route = y; } if (U->y_route > y) { U->y_route -= U->y_speed; U->where_stop_but_and(U, NORTH, EAST); if (U->y_route < y)U->y_route = y; } } return (Off); } PLACE_CALL STATUS PLACE_TYPE place_user_route(CHAINED * user, BP32 x, BP32 y) { if (user && USER_C(user->it)->object && bit_is_on(USER_C(user->it)->object->status, OBJECT_VISIBLE)) { OBJECT_SET * U = USER_C(user->it)->object; if (U->x_route == x && U->y_route == y) { obj_where_stop_all(U); return (On); } //printf("xs %f ys %f\n",object->x_speed,object->y_speed); return (place_user_move(U, x, y)); } return (Off); } #define sign(x) ((x > 0) ? 1 : ((x < 0) ? -1 : 0) ) PLACE_CALL STATUS PLACE_TYPE place_user_straight(CHAINED * user, BP32 x1, BP32 y1) { if (user && USER_C(user->it)->object && bit_is_on(USER_C(user->it)->object->status, OBJECT_VISIBLE)) { OBJECT_SET * O = USER_C(user->it)->object; BP32 dx, dy; dx = x1 - O->x_route; dy = y1 - O->y_route; static BP32 x = -1, y = -1, p = -1; if (x == -1)x = O->x_route; if (y == -1)y = O->y_route; if (p == -1)p = 2 * dy - dx; printf("x %lf y %lf\n", x, y); if (x < x1) { if (p >= 0) { y = y + 1; p = p + 2 * dy - 2 * dx; } else { p = p + 2 * dy; } x = x + 1; } else { O->x_route = x; O->y_route = y; x = -1; y = -1; p = -1; return (On); } O->x_route = x; O->y_route = y; x = -1; y = -1; p = -1; } return (Off); } a função user_place_straight foi minha tentativa de implementar bresenham que promete fazer o que estou tentando. Isso é o que fá fiz com o motor: https://www.youtube.com/watch?v=nuLi_lB6c4Y&feature=youtu.be Mas até agora não estou conseguindo resultado
  16. Boa noite, Preciso de ajuda com o desenvolvimento de um programa. Quero saber 3 coisas . 1 - Criei uma vetor de struct vinculada a uma constante de valor 5. Quero saber como faço para limitar o cadastro ao tamanho da constante ( controla o n° de posições do vetor da struct) De forma que ao cadastrar 5 livros ele impeça de cadastrar o sexto. 2- Impedir que dos 5 cadastros algum deles se repita. (Livros iguais) 3- Se eu der o comando para exibir a lista de dados cadastrados e não houver nenhum ele tem que informar lista vazia. Segue o meu código. #include<stdio.h> #include<stdlib.h> #include<string.h> #define Max_livros 5 struct biblio{ char nomeobra[30]; char nomeedit[30]; char nomeaut[30]; int codigo; int ativo; }; biblio livros[Max_livros]; void menu(); void cadastrar(); void mostrar(); // Menu principal -------------------------INICIO------------------------------- int main(){ menu(); return 0; } // -----------------------------------------FIM--------------------------------- void menu(){ int op; do{ system("cls"); printf("---------->>Sistema para bibliotecas<<----------\n \n \n "); printf("\n1 - Inserir um novo cadastro: "); printf("\n2 - Mostrar todos os cadastros: "); printf("\n0 - Encerrar \n\n"); printf("Opcao escolhida: "); scanf("%d",&op); getchar(); fflush(stdin); switch(op){ case 1: cadastrar(); break; case 2: mostrar(); break; default : system("cls"); printf("\n \n =========================================="); printf("\n\n\n\n\t Erro : opcao invalida!!!\n\n\n\n"); printf("\n \n ==========================================\n\n"); system("pause"); } getchar(); }while(op!=0); } void cadastrar(){ system("cls"); char nomeobra[20]; char nomeedit[20]; char nomeaut[20]; int codigo; int op; do{ codigo=0; codigo=codigo+1; printf("\nDigite o nome da obra: "); fgets(nomeobra,sizeof(nomeobra),stdin); printf("\nDigite o(s) nome(s) d(os) autor(es): "); fgets(nomeaut,sizeof(nomeaut),stdin); printf("\nDigite o nome da editora: "); fgets(nomeedit,sizeof(nomeedit),stdin); for(int i=0;i<Max_livros;i++){ if(livros.ativo==0) { strcpy(livros.nomeobra,nomeobra); strcpy(livros.nomeaut,nomeaut); strcpy(livros.nomeedit,nomeedit); livros.ativo=1; break; } } printf("\n1 - Continuar \n0 - Sair \n\n"); scanf("%d",&op); getchar(); fflush(stdin); }while(op!=0); } void mostrar(){ int codigo=0; system("cls"); printf("------------->>Lista de livros cadastrados<<-------------\n \n \n"); for(int i=0;i<Max_livros;i++){ if(livros.ativo==1){ codigo=codigo+1; printf("\nCodigo: %d\n",codigo); printf("\nNome da Obra: %s\n",livros.nomeobra); printf("\nNome do(s) autor(es): %s\n",livros.nomeaut); printf("\nNome da editora: %s\n",livros.nomeedit); printf("\n\n--------------------------------\n\n"); } } printf("\n\nPressione '0' para voltar ao menu..."); getchar(); fflush(stdin); }
  17. OBJETIVO: Ler strings armazenando em campos de uma struct, atendendo à necessidade/interesse de não ler o que resta no buffer na próxima entrada (lendo espaços e quantidade de chars pré definidos) O QUE PESQUISEI: Tudo que pude, tentei( E TESTEI!) várias formatações com scanf, li e entendi o que fui capaz (lendo em todo lugar) sobre sscanf, fgets, estruturas de repetição recebendo strings de char em char, função criada para o último método citado, setbuf, setvbuf, bufsize e muito mais acredite, vou até passar na biblioteca estadual amanhã para ver se tem algum livro de C e pesquisar mais. (ISTO SÓ PRA DEIXAR CLARO PRA COMUNIDADE que não sou preguiçoso visto que essa é minha primeira pergunta num fórum na história - todo e qualquer tipo de fórum - porque existe uma pressão muito grande sobre fazer perguntas num fórum de programação em especial) Até que achei um jeito sem ser o famigerado fflush, o rewind (stdin)... *Reafirmo! Estou ciente de getchar em estrutura de repetição ou fgets por exemplo, mas só estou aqui porque não me foi útil.* AFINAL qual o problema de usar a função rewind para o fluxo stdin? Claro, é mais usual para chamar ponteiro de arquivo em leitura, mas isso é motivo suficiente para ser ruim usar em stdin? Qual o problema real de se aplicar no fluxo stdin? Não é portável? Achei até uma doc da microsoft indicando para isto: https://docs.microsoft.com/pt-br/cpp/c-runtime-library/reference/rewind?view=vs-2019 em que há "...Para limpar o buffer de teclado, use rewind com o fluxo stdin, que está associado com o teclado por padrão...". Vi reprovação por meio de usuários de outros fóruns nos quais achei perguntas parecidas como esta mas não achei as explicações de como isto ser ruim muito convincentes (um pouco presunçoso ou dedutivo da minha parte por ser um mero iniciante). O que acham? Eu só tenho 3 meses que conheço a programação em geral. SITUAÇÃO ATUAL: Olha, já que isto é para um trabalho de ADS EAD em que a faculdade ensina com 'fflush stdin' sem problemas, e já que ainda não achei alternativa também totalmente resoluta e confiável, está assim com o fflush stdin GENTE DESCULPE QUALQUER INCONVENIENTE. #include <stdio.h> #include <stdlib.h> #include <locale.h> typedef struct cadastro{ char nLivro[31]; char nAutores[31]; char nEditora[31]; int cod; }livro; int main(){ setlocale (LC_ALL, ""); livro estante[4]; int op, i, j; i = 1; j = 1; do { printf ("\t> Menu <\n\n1 - > Efetua um novo cadastro\n\n2 - > Visualiza todos cadastros\n\n0 - > Sai do menu\n\n"); scanf ("%1d%*c", &op); fflush (stdin); switch (op){ case 1 :if (i < 6){ printf ("\t> Efetua um novo cadastro\n\n> Nome da obra: "); scanf ("%30[^\n]", estante[i-1].nLivro);//não é necessário 's' nesta ocasião. printf ("\n> Autor(es): "); fflush (stdin);//ou rewind(stdin). scanf ("%30[^\n]", estante[i-1].nAutores); fflush (stdin); printf ("\n> Editora: "); scanf ("%30[^\n]", estante[i-1].nEditora); fflush (stdin); printf ("\n\n\t>Cadastro bem sucedido!"); estante[i-1].cod = i; i++; }else { printf ("Cadastro lotado!"); }......(vergonha do código)
  18. Hudson Medeiros

    Formulário condicional

    Bom dia! To precisando criar um formulário condicional com base em um menu dropdown que tem no meu site. Ele puxa as informações de uma lista no código, e gostaria que ao selecionar uma opção específica abrisse novos campos de formulário e alguns sumissem. Alguém tem alguma ideia de como posso executar isso?
  19. Construir um algoritmo em C++ que preencha um matriz quadrada de tamanho 4 pelo usuário. Após o preenchimento pelo usuário, verifique na diagonal principal qual foi o maior valor digitado e exiba na tela o valor. Por fim, exiba na tela toda matriz em forma de matriz na tela.
  20. andreluizsgf

    Impressão de Árvore Binária.

    Boa noite, eu estou tentando implementar uma função que imprima uma árvore como ela deveria ser, com o pai acima e a direita do menor filho e acima e a esquerda do maior filho. Já tenho duas funcões que me permitem imprimir por nível, porém estou tentando adaptá-las para a impressão correta. Exemplo: árvore: 5,4,3,2,1; Impressão: 5 3 4 1 2 O código para o print é este: void ---ivel(node_t* raiz, int level) { if (raiz == NULL){ for(int i = 0 ; i < 3 ; i++){ printf("\t"); return;} } if (level == 1) { for (int i=0; i<altura(raiz); i++) printf("\t"); simpleprint(raiz); } else if (level > 1) { ---ivel(raiz->left, level-1); ---ivel(raiz->right, level-1); } } void printarordem(node_t *raiz) { int h = altura(raiz); int i; for (i=1; i<=h; i++) { printf("\t"); ---ivel(raiz, i); printf("\n"); } } Se alguém souber como resolver este ou sugerir outra implementação, fico super agradecido!
  21. vinicius.benedito98

    Dúvida com vetor em C++

    Faça um Programa em Linguagem C que receba o nome e a nota de 180 alunos de uma sala e armazene em vetor. Calcule e mostre: - A média da sala; - O nome do aluno com a maior nota; - O nome do aluno com a menor nota; - Os nomes dos alunos aprovados; O meu código é esse : #define N 180 int main() { int i, ind_maior, ind_menor; float nota[N], soma=0, media, min_aprov=7; char nome[N][50]; for (i=0; i printf("Informe o nome do %dº aluno: ", i+1); gets(nome); printf("Informe a nota do %dº aluno: ", i+1); scanf(" %d ", &nota); soma += nota; } media = soma / N; printf("\nMédia da sal: %.2f\n", media); ind_menor = ind_maior = 0; for (i=1; i if (nota < nota[ind_menor]) ind_menor = i; if (nota > nota[ind_maior]) ind_maior = i; } printf("Menor nota: %s com %.2f\n", nome[ind_menor], nota[ind_menor]); printf("Maior nota: %s com %.2f\n", nome[ind_maior], nota[ind_maior]); printf("Aprovados:"); for (i=0; i if (nota >= min_aprov) printf("\t%s com: %.2f\n", nome, nota); } return 0; } Porém quando vou executa-lo, o programa pede para inserir o nome e nota do aluno apenas uma vez, e fica por isso, ele não exibe os resultados, alguém pode me ajudar ?
  22. WizardTech

    Cliente/Servidor em C - Problemas

    Eu estou criando uma aplicação cliente/servidor em C no ubuntu. O propósito é bem simples, saber se vale mais a pena alugar ou vender um imóvel, o usuário digita o valor do aluguel, os meses que irá alugar e o valor que irá vender e o servidor faz as contas e devolve o resultado. Tudo está dentro de um do while para ficar infinito, no final o usuário digita CONTINUAR para testar outros valores e SAIR para encerrar a conexão. Mas está com um problema que não consigo identificar. A primeira vez que comparamos valores, o servidor retorna o resultado correto(alugar ou vender), porém a partir da segunda vez ao digitar CONTINUAR, ele sempre retorna resultados errados. Eu suspeito que esteja armazenando dados na variáveis erradas a partir da segunda vez, coloquei uns prints no meio do código para mostrar os valores e tem divergência.E também tentei zerar as variáveis no começo e usar vários bzero e fflush, mas sem resultado. Mas não tenho certeza de nada. Podem me ajudar? CÓDIGO DO CLIENTE: #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #include <stdio.h> #include <stdlib.h> #include <strings.h> #include <string.h>  int main () { struct sockaddr_in sock; int con, sockid,numbytes; char resposta[10]; char buf[100]; char aluguel[10]; char venda[10]; char meses[2]; sockid = socket(AF_INET, SOCK_STREAM, 0); bzero(&(sock),sizeof(sock)); sock.sin_family = AF_INET; sock.sin_port = htons(9012); inet_pton(AF_INET, "127.0.0.1",&sock.sin_addr); con=connect(sockid,(struct sockaddr*)&sock,sizeof(sock)); do{ if(con>=0) { printf("=====================================================\n"); printf("Descubra se vale a pena vender ou alugar seu imóvel\n"); printf("=====================================================\n"); printf("Digite por quanto voce quer alugar: \n"); scanf("%s", &aluguel); printf("=====================================================\n"); if(send(sockid,aluguel,strlen(aluguel),0)==-1) { printf("Erro ao enviar mensagem\n"); close(sockid); } printf("Digite por quantos meses ira alugar : \n"); scanf("%s", &meses); printf("=====================================================\n"); if(send(sockid,meses,strlen(meses),0)==-1) { printf("Erro ao enviar mensagem\n"); close(sockid); } printf("Digite por quanto quer vender: \n"); scanf("%s", &venda); printf("=====================================================\n"); if(send(sockid,venda,strlen(venda),0)==-1) { printf("Erro ao enviar mensagem \n"); close(sockid); } bzero(&buf,sizeof(buf)); if((numbytes=recv(sockid,buf,100,0)==-1)) { printf("Erro ao receber a mensagem\n"); } printf("Vale mais a pena: %s\n",buf); printf("Digite SAIR para sair ou CONTINUAR para continuar a comparar.\n"); scanf("%s",&resposta); fflush(stdin); if(send(sockid,resposta,strlen(resposta),0)==-1) { printf("Erro ao enviar mensagem\n"); close(sockid); } if(strcmp(resposta,"CONTINUAR")==0) { continue; } } }while(strcmp(resposta,"SAIR")!=0); close(sockid); } CÓDIGO DO SERVIDOR: #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #include <stdio.h> #include <stdlib.h> #include <strings.h> #include <string.h> int main () { int sockid; struct sockaddr_in servidor; int client,numbytes; float convertido; float convertido1; float convertido2; char passar[10]; char buf[100]; char buf1[100]; char buf2[100]; float resultado; char resposta[10];  sockid = socket(AF_INET, SOCK_STREAM,0); if(sockid==-1) { printf("Não foi possivel criar o socket"); exit(1); } servidor.sin_family= AF_INET; servidor.sin_addr.s_addr = htonl(INADDR_ANY); servidor.sin_port = htons(9012); if(bind(sockid,(struct sockaddr*)&servidor, sizeof(servidor))<0) { printf("Falhou ao associar a porta\n"); } listen(sockid, 3); int c, new_socket; while(1) { c = sizeof(struct sockaddr_in); new_socket = accept(sockid, (struct sockaddr *)&client,(socklen_t *)&c); if(new_socket <=0) { printf("Falhou ao aceitar o conector\n"); continue; } while(1){ printf("Conexão aceita\n"); fflush(stdin); resultado = 0; convertido = 0; convertido1 = 0; convertido2 = 0; bzero(&buf,sizeof(buf)); if((numbytes=recv(new_socket,buf,100,0)==-1)) { printf("Erro ao receber a mensagem\n"); } convertido = atof(buf); bzero(&buf1,sizeof(buf1)); if((numbytes=recv(new_socket,buf1,100,0)==-1)) { printf("Erro ao receber mensagem\n"); } convertido1 = atof(buf1); printf(buf1); bzero(&buf2,sizeof(buf2)); if((numbytes=recv(new_socket,buf2,100,0)==-1)) { printf("Erro ao receber mensagem\n"); } convertido2 = atof(buf2); printf(buf2);  resultado = convertido*convertido1; if(resultado>convertido2) { sprintf(passar, "Alugar"); } else { sprintf(passar,"Vender"); } if(send(new_socket,passar,strlen(passar),0)==-1) { printf("Erro ao enviar a mensagem\n"); close(new_socket); } bzero(&resposta,sizeof(resposta)); if((numbytes=recv(new_socket,resposta,strlen(resposta),0)==-1)) { printf("Erro ao receber a mensagem\n"); } fflush(stdin); if(strcmp(resposta,"SAIR")==0) {  close(new_socket); break; }  } }  }
  23. reberthkss

    Tecla ENTER

    Bom dia! Estou desenvolvendo meu primeiro jogo da velha, e estou encontrando um problema quando aperto a tecla ENTER. O que acontece é que quando aperto ENTER, o programa o reconhece como um comando de caracter e retorna um valor para quando digitam um caracter diferente de X e O. Abaixo fotos: Antes de apertar o ENTER: Após apertar o ENTER CÓDIGO:
  24. Gostaria de saber qual o problema com o meu código pois ao compilar e executar ele simplesmente abre o DOS e fecha sem realizar nenhuma tarefa #include <stdlib.h> #include <stdio.h> #include <locale.h> // aux1 = contador de coluna e aux2 = contador de linha int main () { setlocale(LC_ALL, "portuguese"); int m1, n1, m2, n2, matriz1[m1][n1], matriz2[m2][n2],matrizsoma[m1][n1],aux1,aux2,elemento,contadorlinha=0; printf("Entre com o número de linhas da 1ª matriz : "); scanf("%i",&m1); printf("Entre com o número de colunas da 1ª matriz : "); scanf("%i",&n1); printf("Entre com o número de linhas da 2ª matriz : "); scanf("%i",&m2); printf("Entre com o número de colunas da 2ª matriz : "); scanf("%i",&n2); if ((m1==m2) && (n1==n2)){ for (aux2 = 0;aux2<m1;aux2++){ for (aux1=0;aux1<n1;aux1++){ contadorlinha=aux1+1; printf("Matriz A:"); printf("Entre com os elementos um a um, separados por espaço da %iª linha: ",contadorlinha); scanf("%i",&elemento); matriz1[aux2][aux1]=elemento; } } for (aux2 = 0;aux2<m2;aux2++){ for (aux1=0;aux1<n2;aux1++){ contadorlinha=aux1+1; printf("Matriz B:"); printf("Entre com os elementos um a um, separados por espaço, da %iª linha: ",contadorlinha); scanf("%i",&elemento); matriz2[aux2][aux1]=elemento; } } for (aux2=0;aux2<m1;aux2++){ for(aux1=0;aux1<n1;aux1++){ matrizsoma[aux2][aux1]=matriz1[aux2][aux1]+matriz2[aux2][aux1]; } } printf("Matriz C = A + B:\n"); for (aux2=0;aux2<m1;aux2++){ for(aux1=0;aux1<n1;aux1++){ printf("%i",matrizsoma[aux2][aux1]); } printf("\n"); } } else{ printf("\nParâmetros das matrizes inválidos para a soma!\n"); printf("Ambas devem ter o mesmo número de linhas e colunas\n"); } system("pause"); return 0; }
  25. [INICIANTE] Boa tarde pessoal, estou com problemas para terminar o seguinte código. Preciso adicionar os seguintes procedimentos. 1. Utilizar vetores e/ou matrizes; 2. Utilizar estruturas de repetição; 3. Implementar utilizando modularização (no mínimo um módulo de procedimento e dois módulos de ação); 4. Utilizar passagem de parâmetro por valor e referência; 5. Utilizar registros; 6. Utilizar alocação dinâmica de memória; Alguém poderia dar uma luz? Já fiz o seguinte: //Projeto: Calculo de PI por Monte Carlo. Adotando o intervalo entre [0,1]. #include <stdio.h> #include <stdlib.h> #include <time.h> #include <math.h> int main(){ double px,py,deltax,deltay,DistEuc,Valor_pi; int Npont_quad = 10000000; int dentro_circ = 0; int i; srand(time(NULL)); for(i = Npont_quad; i > 0; i--){ //Estrutura de repetição para gerar pontos aleatorios. px = rand() / (double)RAND_MAX; //Primeiro numero sorteado entre 0 e 1. py = rand() / (double)RAND_MAX; //Segundo numero sorteado entre 0 e 1. deltax = pow((px- 0.5),2); //Calculo do cateto x da hipotenusa. deltay = pow((py - 0.5),2); //Calculo do cateto y da hipotenusa. DistEuc = sqrt(deltax + deltay); //Calculo da distancia euclidiana(distancia entre os pontos) if (DistEuc <= 0.5){ //Determinar quais pontos estão dentro do circulo dentro_circ++; } } Valor_pi = 4 * dentro_circ / (double) Npont_quad; //Obtenção do valor de PI. printf("O valor de PI eh: %lf", Valor_pi); //Imprimir o valor de PI. }
×

Important Information

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