Ir ao conteúdo
  • Cadastre-se

C++ Dica para exercicio Dev c++


Raphael21

Posts recomendados

Pessoal boa noite, sou novo no mun do de Ti e estou  fazendo um exercicio mais não estou conseguindo terminar,

 

Solicite ao usuário os dados da matriz A, de 3 linhas e 4 colunas.  Construa, a partir de A, a matriz transposta T, de 4 linhas e 3 colunas.  Mostre na tela as duas matrizes. Importante: é necessário, nesse programa, que você declare duas matrizes distintas, A e T.

 

escrevi o seguinte programa, mais empaquei, alguem me da uma dica que eu possa continuar?

Citação

#include <stdio.h>
#include <stdlib.h>

int main(){
	//Solicite ao usuário os dados da matriz A, de 3 linhas e 4 colunas
	int Matriz [3][4];
	for(int lin=0;lin<3;lin++){
	for(int col=0;col<4;col++){
		printf("Entre com os valores da Matriz A[%d][%d]:",lin,col);
		scanf("%d",&Matriz[lin][col]);
	}
	}
	printf("Matriz lida \n");
	for(int lin=0;lin<3;lin++){
	for(int col=0;col<4;col++){
		printf("%4d", Matriz[lin][col],lin,col);
}
printf("\n");
}
}

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

#include <stdio.h>
#define N 3
#define M 4
void recebeMatriz(float matriz[N][M]);
void imprimeMatriz(float matriz[N][M]);
void transporMatriz(float matriz[N][M], float transposta[M][N]);
void imprimeTransposta(float transposta[M][N]);
int main() {
    float matriz[N][M], transposta[M][N];
    recebeMatriz(matriz);
    imprimeMatriz(matriz);
    transporMatriz(matriz,transposta);
    printf("A transposta e:\n");
    imprimeTransposta(transposta);
    return 0;
}
void recebeMatriz(float matriz[N][M]) { // referência
    int i, j;
    for(i = 0; i < N; i++)
        for(j = 0; j < M; j++) {
           // printf("Entre com elemento (%d,%d): ", i, j);
           // scanf("%f", &matriz[i][j]);
           matriz[i][j]=i+j;
        }
}
void imprimeMatriz(float matriz[N][M]) {
    int i, j;
    printf("\nMatriz %dx%d:\n",N,M);
    for(i = 0; i < N; i++)
        for(j = 0; j < M; j++)
            printf("%g%c", matriz[i][j], (j != M-1)? '\t' : '\n');
}
void transporMatriz(float matriz[N][M], float transposta[M][N]) {
    int i, j;
    for(i = 0; i < N; i++)
        for(j = 0; j < M; j++)
            transposta[j][i] = matriz[i][j];
}
void imprimeTransposta(float transposta[M][N]) {
    int i, j;
    printf("\nMatriz %dx%d:\n",M,N);
    for(i = 0; i < M; i++)
        for(j = 0; j < N; j++)
            printf("%g%c", transposta[i][j], (j != N-1)? '\t' : '\n');
}

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@herbertbahia no caso o meu professor pediu para eu alterar meu codigo em c de uma calculadora.

adicionado 0 minutos depois

mas ela ta padronixada para receber só tres notas agora ele quer que eu mude para receber a quantidade que o usuario quiser de notas.

adicionado 0 minutos depois

vou enviar o codigo 

adicionado 1 minuto depois

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#define MAX_ALUNOS 50


int notas = 10;

typedef struct{
    char nome[50];
    float notas[10];
    int ativo;

} Aluno;

Aluno alunos[50];
void manup();
void menu();
void menu2();
void Cadastrar();
void remover();
void reprovados();
void aprovados();
void pesquisar();
void listar();
void operacoes_basicas();


int main(int argc, char const *argv[])
{
  manup();
    return 0;
}
void manup(){
int pa;
bool sair = false;
do{
system("cls");
printf("\t\tselecione seu perfil de acordo com seu uso\t\t\n");
printf("digite 1 para entrada de professor e 2 para caso queira o perfil de aluno\n");
scanf("%d", &pa);
    getchar();
    switch (pa){
    case 1: menu();
    break;
     case 2:menu2();
            sair = true;
            break;
        default: printf("Entrada invalida!\n");
        }getchar();
}while(!sair);
  }
void menu(){
    bool sair = false;
    int op;
    do {
        system("cls");
        printf("----------MENU PRINCIPAL----------\n[1]CADASTRAR\n[2]REMOVER\n[3]REPROVADOS\n[4]APROVADOS\n[5]PESQUISAR\n[6]LISTAR\n[7]OPERACOES BASICAS\n[8]SAIR\n");

        scanf("%d", &op);
        getchar();
        switch (op){
        case 1:
            Cadastrar();
            break;
        case 2:
            remover();
            break;
        case 3:
            reprovados();
            break;
        case 4:
            pesquisar();
            break;
        case 5:
            listar();
            break;
        case 6:
            aprovados();
            break;
        case 7:
      operacoes_basicas();
      break;
        case 8:
            sair = true;
            break;
        default: printf("Entrada invalida!\n");
        }
        getchar();
    } while (!sair);
}

void Cadastrar(){

    char nome[50];
    float notas[10];
    int op;
    int i, a;

    do{
        system("cls");
        printf("\nInsira o nome do Aluno: ");
        fgets(nome, sizeof(nome), stdin);
        printf("Insira a quantidade de notas:\n");
        scanf("%d", &a);
        printf("Insira notas:\n");
        for (i = 0; i<a; i++)
            scanf("%f", &notas[a]);
        printf("\n1 - Continuar\n0 - Sair\n");
        scanf("%d", &op);
        getchar();
    } while (op != 0);
}

void remover(){
    int matricula;
    listar();
    printf("\n Digite a matricula do aluno a ser removido: ");
    scanf("%d", &matricula);
    --matricula;
    alunos[matricula].ativo = 0;
    printf("\n Aluno foi excluido com sucesso \n");
    getchar();
}

void reprovados(){
    system("cls");

    float media = 0;
    printf("\n LISTA DE ALUNOS REPROVADOS\n");
    for (int i = 0; i < MAX_ALUNOS; ++i)
    {
        if (alunos.ativo == 1)
        {
            media = 0;
            for (int i = 0; i < notas; ++i)
                media = media / 3;
            if (media<7.0)

            {

                printf("Matricula: %d\n", i + 1);
                printf("Nome: %s\n", alunos.nome);
                printf("1 prova: %0.2f\n", alunos.notas[0]);
                printf("2 prova: %0.2f\n", alunos.notas[1]);
                printf("3 prova: %0.2f\n", alunos.notas[2]);
                printf("Media do aluno: %f\n", media);
                media = 7 - media;
                printf("Falta para o aluno ser aprovado: %0.2f\n", media);
                printf("\n-------------\n");

            }

        }

    }
}

void aprovados(){
    system("cls");
    float media;
    printf("\n LISTA DE ALUNOS APROVADOS\n");
    for (int i = 0; i < MAX_ALUNOS; ++i)
    {
        if (alunos.ativo == 1)
        {
            media = 0;
            media = alunos.notas[0] + alunos.notas[1] + alunos.notas[2];
            media = media / 3;
            if (media>7.0)
            {
                printf("Matricula: %d\n", i + 1);
                printf("Nome: %s\n", alunos.nome);
                printf("1 prova: %0.2f\n", alunos.notas[0]);
                printf("2 prova: %0.2f\n", alunos.notas[1]);
                printf("3 prova: %0.2f\n", alunos.notas[2]);
                printf("Media do aluno: %f\n", media);
                printf("\n-------------\n");

            }
        }
    }
}

void pesquisar(){

    char nome[50];
    int op;
    do{
        system("cls");
        printf("\nDigite o nome do aluno para pesquisar: ");
        fgets(nome, sizeof(nome), stdin);
        for (int i = 0; i < MAX_ALUNOS; ++i)
        {
            if (strstr(alunos.nome, nome) != NULL)
            {
                printf("Matricula: %d\n", i + 1);
                printf("Nome: %s\n", alunos.nome);
                printf("1 prova: %0.2f\n", alunos.notas[0]);
                printf("2 prova: %0.2f\n", alunos.notas[1]);
                printf("3 prova: %0.2f\n", alunos.notas[2]);
                printf("\n-------------\n");
            }

        }
        printf("\nDigite 0 para sair ou 1 para nova pesquisa: ");
        scanf("%d", &op);
        getchar();
    } while (op != 0);
}


void listar(){
    system("cls");
    printf("\n LISTA DE ALUNOS\n");
    for (int i = 0; i < MAX_ALUNOS; ++i)
    {
        if (alunos.ativo == 1)
        {
            printf("Matricula: %d\n", i + 1);
            printf("Nome: %s\n", alunos.nome);
            printf("1 prova: %0.2f\n", alunos.notas[0]);
            printf("2 prova: %0.2f\n", alunos.notas[1]);
            printf("3 prova: %0.2f\n", alunos.notas[2]);
            printf("\n-------------\n");

        }
    }
}
void operacoes_basicas(){
float num1,num2;
char oper;
float notas;
float total = 0;
int i,a,x,op;
float subtracao= 0;
float divisao= 0;
float media = 0;
float multiplicacao=0;

        do
        {

            printf("Operacoes disponiveis\n");
            printf("'+' : soma\n");
            printf("'-' : subtracao\n");
            printf("'*' : multiplicao\n");
            printf("'/' : divisao\n");
            printf("'%%' : resto da divisao\n");
            scanf(" %c",&oper);
            system("cls || clear");
            switch( oper )
            {
                case '+':
printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total += notas;
printf("sua soma e igual=%f",total);

}

                        break;

                case '-':
printf("digite a nota que deseja que seja subtraida:\n");
scanf("%d",&x);

printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total += notas;

}
subtracao= x-total;

printf("A media do aluno: %f ", subtracao);

                        break;

                case '*':
                printf("digite a nota que deseja que seja multiplicada");
                 float y;
                int i,a;
                scanf("%f",&y);
printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total *= notas;
multiplicacao= total;
printf("a multiplicação e igual a %f",multiplicacao);
}

printf("total = %f\n",total);

                        break;

case '/':
printf("digite a nota que deseja que seja dividida:\n");
scanf("%d", &x);

printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total += notas;

}
divisao= x/total;

printf("A media do aluno: %f ", divisao);
  

                       break;
        default:
                if(num1 != 0 && oper != '0' && num2 != 0){
                            printf(" Operador invalido\n\n ");
              } else{
              printf(" Fechando calculadora!\n ");

             }
            }
        }
        while(op != 0);
  }
 void menu2(){
    bool sair = false;
    int op;
    do {
        system("cls");
        printf("----------MENU PRINCIPAL----------\n[1]OPERACOES BASICAS\n[2]SAIR\n");

        scanf("%d", &op);
        getchar();
        switch (op){
        case 1: operacoes_basicas();
      break;
        case 2:
            sair = true;
            break;
        default: printf("Entrada invalida!\n");
        }
        getchar();
    } while (!sair);
}

 

adicionado 2 minutos depois

esse é antes de eu mexer no codigo 

so avisando tem coisas nele que está incompleto

adicionado 4 minutos depois

esse é depois 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#define MAX_ALUNOS 50


int notas = 10;

typedef struct{
    char nome[50];
    float notas[10];
    int ativo;

} Aluno;

Aluno alunos[50];
void manup();
void menu();
void menu2();
void Cadastrar();
void remover();
void reprovados();
void aprovados();
void pesquisar();
void listar();
void operacoes_basicas();


int main(int argc, char const *argv[])
{
  manup();
    return 0;
}
void manup(){
int pa;
bool sair = false;
do{
system("cls");
printf("\t\tselecione seu perfil de acordo com seu uso\t\t\n");
printf("digite 1 para entrada de professor e 2 para caso queira o perfil de aluno\n");
scanf("%d", &pa);
    getchar();
    switch (pa){
    case 1: menu();
    break;
     case 2:menu2();
            sair = true;
            break;
        default: printf("Entrada invalida!\n");
        }getchar();
}while(!sair);
  }
void menu(){
    bool sair = false;
    int op;
    do {
        system("cls");
        printf("----------MENU PRINCIPAL----------\n[1]CADASTRAR\n[2]REMOVER\n[3]REPROVADOS\n[4]APROVADOS\n[5]PESQUISAR\n[6]LISTAR\n[7]OPERACOES BASICAS\n[8]SAIR\n");

        scanf("%d", &op);
        getchar();
        switch (op){
        case 1:
            Cadastrar();
            break;
        case 2:
            remover();
            break;
        case 3:
            reprovados();
            break;
        case 4:
            aprovados();
            break;
        case 5:
            pesquisar();
            break;
        case 6:
            listar();
            break;
        
        case 7:
      operacoes_basicas();
      break;
        case 8:
            sair = true;
            break;
        default: printf("Entrada invalida!\n");
        }
        getchar();
    } while (!sair);
}

void Cadastrar(){

    char nome[50];
    float notas[10];
    int op;
    int i, a;

    do{
        system("cls");
        printf("\nInsira o nome do Aluno: ");
        fgets(nome, sizeof(nome), stdin);
        printf("Insira a quantidade de notas:\n");
        scanf("%d", &a);
        printf("Insira notas:\n");
        for (i = 0; i<a; i++)
            scanf("%f", &notas[a]);
        printf("\n1 - Continuar\n0 - Sair\n");
        scanf("%d", &op);
        getchar();
    } while (op != 0);
}

void remover(){
    int matricula;
    listar();
    printf("\n Digite a matricula do aluno a ser removido: ");
    scanf("%d", &matricula);
    --matricula;
    alunos[matricula].ativo = 0;
    printf("\n Aluno foi excluido com sucesso \n");
    getchar();
}

void reprovados(){
    system("cls");

    float media = 0;
    printf("\n LISTA DE ALUNOS REPROVADOS\n");
    for (int i = 0; i < MAX_ALUNOS; ++i)
    {
        if (alunos.ativo == 1)
        {
            media = 0;
            for (int i = 0; i < notas; ++i)
                media = media / 3;
            if (media<7.0)

            {

                printf("Matricula: %d\n", i + 1);
                printf("Nome: %s\n", alunos.nome);
                printf("1 prova: %0.2f\n", alunos.notas[0]);
                printf("2 prova: %0.2f\n", alunos.notas[1]);
                printf("3 prova: %0.2f\n", alunos.notas[2]);
                printf("Media do aluno: %f\n", media);
                media = 7 - media;
                printf("Falta para o aluno ser aprovado: %0.2f\n", media);
                printf("\n-------------\n");

            }

        }

    }
}

void aprovados(){
    system("cls");
    float media;
    printf("\n LISTA DE ALUNOS APROVADOS\n");
    for (int i = 0; i < MAX_ALUNOS; ++i)
    {
        if (alunos.ativo == 1)
        {
            media = 0;
            media = alunos.notas[0] + alunos.notas[1] + alunos.notas[2];
            media = media / 3;
            if (media>7.0)
            {
                printf("Matricula: %d\n", i + 1);
                printf("Nome: %s\n", alunos.nome);
                printf("1 prova: %0.2f\n", alunos.notas[0]);
                printf("2 prova: %0.2f\n", alunos.notas[1]);
                printf("3 prova: %0.2f\n", alunos.notas[2]);
                printf("Media do aluno: %f\n", media);
                printf("\n-------------\n");

            }
        }
    }
}

void pesquisar(){

    char nome[50];
    int op;
    do{
        system("cls");
        printf("\nDigite o nome do aluno para pesquisar: ");
        fgets(nome, sizeof(nome), stdin);
        for (int i = 0; i < MAX_ALUNOS; ++i)
        {
            if (strstr(alunos.nome, nome) != NULL)
            {
                printf("Matricula: %d\n", i + 1);
                printf("Nome: %s\n", alunos.nome);
                printf("1 prova: %0.2f\n", alunos.notas[0]);
                printf("2 prova: %0.2f\n", alunos.notas[1]);
                printf("3 prova: %0.2f\n", alunos.notas[2]);
                printf("\n-------------\n");
            }

        }
        printf("\nDigite 0 para sair ou 1 para nova pesquisa: ");
        scanf("%d", &op);
        getchar();
    } while (op != 0);
}


void listar(){
    system("cls");
    printf("\n LISTA DE ALUNOS\n");
    for (int i = 0; i < MAX_ALUNOS; ++i)
    {
        if (alunos.ativo == 1)
        {
            printf("Matricula: %d\n", i + 1);
            printf("Nome: %s\n", alunos.nome);
            printf("1 prova: %0.2f\n", alunos.notas[0]);
            printf("2 prova: %0.2f\n", alunos.notas[1]);
            printf("3 prova: %0.2f\n", alunos.notas[2]);
            printf("\n-------------\n");

        }
    }
}
void operacoes_basicas(){
float num1,num2;
char oper;
float notas;
float total = 0;
int i,a,x,op;
float subtracao= 0;
float divisao= 0;
float media = 0;
float multiplicacao=0;

        do
        {

            printf("Operacoes disponiveis\n");
            printf("'+' : soma\n");
            printf("'-' : subtracao\n");
            printf("'*' : multiplicao\n");
            printf("'/' : divisao\n");
            printf("'%%' : resto da divisao\n");
            scanf(" %c",&oper);
            system("cls || clear");
            switch( oper )
            {
                case '+':
printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total += notas;
printf("sua soma e igual=%f",total);

}

                        break;

                case '-':
printf("digite a nota que deseja que seja subtraida:\n");
scanf("%d",&x);

printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total += notas;

}
subtracao= x-total;

printf("A media do aluno: %f ", subtracao);

                        break;

                case '*':
                printf("digite a nota que deseja que seja multiplicada");
                 float y;
                int i,a;
                scanf("%f",&y);
printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total *= notas;
multiplicacao= total;
printf("a multiplicação e igual a %f",multiplicacao);
}

printf("total = %f\n",total);

                        break;

case '/':
printf("digite a nota que deseja que seja dividida:\n");
scanf("%d", &x);

printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total += notas;

}
divisao= x/total;

printf("A media do aluno: %f ", divisao);
  

                       break;
        default:
                if(num1 != 0 && oper != '0' && num2 != 0){
                            printf(" Operador invalido\n\n ");
              } else{
              printf(" Fechando calculadora!\n ");

             }
            }
        }
        while(op != 0);
  }
 void menu2(){
    bool sair = false;
    int op;
    do {
        system("cls");
        printf("----------MENU PRINCIPAL----------\n[1]OPERACOES BASICAS\n[2]SAIR\n");

        scanf("%d", &op);
        getchar();
        switch (op){
        case 1: operacoes_basicas();
      break;
        case 2:
            sair = true;
            break;
        default: printf("Entrada invalida!\n");
        }
        getchar();
    } while (!sair);
}

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#define MAX_ALUNOS 50


int notas = 10;

typedef struct{
	char nome[50];
	float notas[10];
	int ativo;

} Aluno;

Aluno alunos[50];
void manup();
void menu();
void menu2();
void Cadastrar();
void remover();
void reprovados();
void aprovados();
void pesquisar();
void listar();
void operacoes_basicas();


int main(int argc, char const *argv[])
{
  manup();
	return 0;
}
void manup(){
int pa;
bool sair = false;
do{
system("cls");
printf("\t\tselecione seu perfil de acordo com seu uso\t\t\n");
printf("digite 1 para entrada de professor e 2 para caso queira o perfil de aluno\n");
scanf("%d", &pa);
    getchar();
    switch (pa){
    case 1: menu();
    break;
     case 2:menu2();
            sair = true;
            break;
        default: printf("Entrada invalida!\n");
		}getchar();
}while(!sair);
  }
void menu(){
	bool sair = false;
	int op;
	do {
		system("cls");
		printf("----------MENU PRINCIPAL----------\n[1]CADASTRAR\n[2]REMOVER\n[3]REPROVADOS\n[4]APROVADOS\n[5]PESQUISAR\n[6]LISTAR\n[7]OPERACOES BASICAS\n[8]SAIR\n");

		scanf("%d", &op);
		getchar();
		switch (op){
		case 1:
			Cadastrar();
			break;
		case 2:
			remover();
			break;
		case 3:
			reprovados();
			break;
		case 4:
			aprovados();
			break;
		case 5:
			pesquisar();
			break;
		case 6:
			listar();
			break;
		
        case 7:
      operacoes_basicas();
      break;
        case 8:
            sair = true;
            break;
        default: printf("Entrada invalida!\n");
		}
		getchar();
	} while (!sair);
}

void Cadastrar(){

	char nome[50];
	float notas[10];
	int op;
	int i, a;

	do{
		system("cls");
        printf("\nInsira o nome do Aluno: ");
		fgets(nome, sizeof(nome), stdin);
		printf("Insira a quantidade de notas:\n");
		scanf("%d", &a);
		printf("Insira notas:\n");
		for (i = 0; i<a; i++)
			scanf("%f", &notas[a]);
		printf("\n1 - Continuar\n0 - Sair\n");
		scanf("%d", &op);
		getchar();
	} while (op != 0);
}

void remover(){
	int matricula;
	listar();
	printf("\n Digite a matricula do aluno a ser removido: ");
	scanf("%d", &matricula);
	--matricula;
	alunos[matricula].ativo = 0;
	printf("\n Aluno foi excluido com sucesso \n");
	getchar();
}

void reprovados(){
	system("cls");

	float media = 0;
	printf("\n LISTA DE ALUNOS REPROVADOS\n");
	for (int i = 0; i < MAX_ALUNOS; ++i)
	{
		if (alunos[i].ativo == 1)
		{
			media = 0;
			for (int i = 0; i < notas; ++i)
				media = media / 3;
			if (media<7.0)

			{

				printf("Matricula: %d\n", i + 1);
				printf("Nome: %s\n", alunos[i].nome);
				printf("1 prova: %0.2f\n", alunos[i].notas[0]);
				printf("2 prova: %0.2f\n", alunos[i].notas[1]);
				printf("3 prova: %0.2f\n", alunos[i].notas[2]);
				printf("Media do aluno: %f\n", media);
				media = 7 - media;
				printf("Falta para o aluno ser aprovado: %0.2f\n", media);
				printf("\n-------------\n");

			}



		}

	}
}

void aprovados(){
	system("cls");
	float media;
	printf("\n LISTA DE ALUNOS APROVADOS\n");
	for (int i = 0; i < MAX_ALUNOS; ++i)
	{
		if (alunos[i].ativo == 1)
		{
			media = 0;
			media = alunos[i].notas[0] + alunos[i].notas[1] + alunos[i].notas[2];
			media = media / 3;
			if (media>7.0)
			{
				printf("Matricula: %d\n", i + 1);
				printf("Nome: %s\n", alunos[i].nome);
				printf("1 prova: %0.2f\n", alunos[i].notas[0]);
				printf("2 prova: %0.2f\n", alunos[i].notas[1]);
				printf("3 prova: %0.2f\n", alunos[i].notas[2]);
				printf("Media do aluno: %f\n", media);
				printf("\n-------------\n");

			}
		}
	}
}

void pesquisar(){

	char nome[50];
	int op;
	do{
		system("cls");
		printf("\nDigite o nome do aluno para pesquisar: ");
		fgets(nome, sizeof(nome), stdin);
		for (int i = 0; i < MAX_ALUNOS; ++i)
		{
			if (strstr(alunos[i].nome, nome) != NULL)
			{
				printf("Matricula: %d\n", i + 1);
				printf("Nome: %s\n", alunos[i].nome);
				printf("1 prova: %0.2f\n", alunos[i].notas[0]);
				printf("2 prova: %0.2f\n", alunos[i].notas[1]);
				printf("3 prova: %0.2f\n", alunos[i].notas[2]);
				printf("\n-------------\n");
			}

		}
		printf("\nDigite 0 para sair ou 1 para nova pesquisa: ");
		scanf("%d", &op);
		getchar();
	} while (op != 0);
}


void listar(){
	system("cls");
	printf("\n LISTA DE ALUNOS\n");
	for (int i = 0; i < MAX_ALUNOS; ++i)
	{
		if (alunos[i].ativo == 1)
		{
			printf("Matricula: %d\n", i + 1);
			printf("Nome: %s\n", alunos[i].nome);
			printf("1 prova: %0.2f\n", alunos[i].notas[0]);
			printf("2 prova: %0.2f\n", alunos[i].notas[1]);
			printf("3 prova: %0.2f\n", alunos[i].notas[2]);
			printf("\n-------------\n");

		}
	}
}
void operacoes_basicas(){
float num1,num2;
char oper;
float notas;
float total = 0;
int i,a,x,op;
float subtracao= 0;
float divisao= 0;
float media = 0;
float multiplicacao=0;

        do
        {

            printf("Operacoes disponiveis\n");
            printf("'+' : soma\n");
            printf("'-' : subtracao\n");
            printf("'*' : multiplicao\n");
            printf("'/' : divisao\n");
            printf("'%%' : resto da divisao\n");
            scanf(" %c",&oper);
            system("cls || clear");
            switch( oper )
            {
                case '+':
printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total += notas;
printf("sua soma e igual=%f",total);

}

                        break;

                case '-':
printf("digite a nota que deseja que seja subtraida:\n");
scanf("%d",&x);

printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total += notas;

}
subtracao= x-total;

printf("A media do aluno: %f ", subtracao);

                        break;

                case '*':
                printf("digite a nota que deseja que seja multiplicada");
                 float y;
                int i,a;
                scanf("%f",&y);
printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total *= notas;
multiplicacao= total;
printf("a multiplicação e igual a %f",multiplicacao);
}

printf("total = %f\n",total);



                        break;

case '/':
printf("digite a nota que deseja que seja dividida:\n");
scanf("%d", &x);

printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total += notas;

}
divisao= x/total;

printf("A media do aluno: %f ", divisao);
  



                       break;
        default:
                if(num1 != 0 && oper != '0' && num2 != 0){
                            printf(" Operador invalido\n\n ");
              } else{
              printf(" Fechando calculadora!\n ");

             }
            }
        }
        while(op != 0);
  }
 void menu2(){
	bool sair = false;
	int op;
	do {
		system("cls");
		printf("----------MENU PRINCIPAL----------\n[1]OPERACOES BASICAS\n[2]SAIR\n");

		scanf("%d", &op);
		getchar();
		switch (op){
		case 1: operacoes_basicas();
      break;
        case 2:
            sair = true;
            break;
        default: printf("Entrada invalida!\n");
		}
		getchar();
	} while (!sair);
}

 

adicionado 1 minuto depois
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#define MAX_ALUNOS 50


int notas = 10;

typedef struct{
	char nome[50];
	float notas[10];
	int ativo;

} Aluno;

Aluno alunos[50];
void manup();
void menu();
void menu2();
void Cadastrar();
void remover();
void reprovados();
void aprovados();
void pesquisar();
void listar();
void operacoes_basicas();


int main(int argc, char const *argv[])
{
  manup();
	return 0;
}
void manup(){
int pa;
bool sair = false;
do{
system("cls");
printf("\t\tselecione seu perfil de acordo com seu uso\t\t\n");
printf("digite 1 para entrada de professor e 2 para caso queira o perfil de aluno\n");
scanf("%d", &pa);
    getchar();
    switch (pa){
    case 1: menu();
    break;
     case 2:menu2();
            sair = true;
            break;
        default: printf("Entrada invalida!\n");
		}getchar();
}while(!sair);
  }
void menu(){
	bool sair = false;
	int op;
	do {
		system("cls");
		printf("----------MENU PRINCIPAL----------\n[1]CADASTRAR\n[2]REMOVER\n[3]REPROVADOS\n[4]APROVADOS\n[5]PESQUISAR\n[6]LISTAR\n[7]OPERACOES BASICAS\n[8]SAIR\n");

		scanf("%d", &op);
		getchar();
		switch (op){
		case 1:
			Cadastrar();
			break;
		case 2:
			remover();
			break;
		case 3:
			reprovados();
			break;
		case 4:
			pesquisar();
			break;
		case 5:
			listar();
			break;
		case 6:
			aprovados();
			break;
        case 7:
      operacoes_basicas();
      break;
        case 8:
            sair = true;
            break;
        default: printf("Entrada invalida!\n");
		}
		getchar();
	} while (!sair);
}

void Cadastrar(){

	char nome[50];
	float notas[10];
	int op;
	int i, a;

	do{
		system("cls");
        printf("\nInsira o nome do Aluno: ");
		fgets(nome, sizeof(nome), stdin);
		printf("Insira a quantidade de notas:\n");
		scanf("%d", &a);
		printf("Insira notas:\n");
		for (i = 0; i<a; i++)
			scanf("%f", &notas[a]);
		printf("\n1 - Continuar\n0 - Sair\n");
		scanf("%d", &op);
		getchar();
	} while (op != 0);
}

void remover(){
	int matricula;
	listar();
	printf("\n Digite a matricula do aluno a ser removido: ");
	scanf("%d", &matricula);
	--matricula;
	alunos[matricula].ativo = 0;
	printf("\n Aluno foi excluido com sucesso \n");
	getchar();
}

void reprovados(){
	system("cls");

	float media = 0;
	printf("\n LISTA DE ALUNOS REPROVADOS\n");
	for (int i = 0; i < MAX_ALUNOS; ++i)
	{
		if (alunos[i].ativo == 1)
		{
			media = 0;
			for (int i = 0; i < notas; ++i)
				media = media / 3;
			if (media<7.0)

			{

				printf("Matricula: %d\n", i + 1);
				printf("Nome: %s\n", alunos[i].nome);
				printf("1 prova: %0.2f\n", alunos[i].notas[0]);
				printf("2 prova: %0.2f\n", alunos[i].notas[1]);
				printf("3 prova: %0.2f\n", alunos[i].notas[2]);
				printf("Media do aluno: %f\n", media);
				media = 7 - media;
				printf("Falta para o aluno ser aprovado: %0.2f\n", media);
				printf("\n-------------\n");

			}



		}

	}
}

void aprovados(){
	system("cls");
	float media;
	printf("\n LISTA DE ALUNOS APROVADOS\n");
	for (int i = 0; i < MAX_ALUNOS; ++i)
	{
		if (alunos[i].ativo == 1)
		{
			media = 0;
			media = alunos[i].notas[0] + alunos[i].notas[1] + alunos[i].notas[2];
			media = media / 3;
			if (media>7.0)
			{
				printf("Matricula: %d\n", i + 1);
				printf("Nome: %s\n", alunos[i].nome);
				printf("1 prova: %0.2f\n", alunos[i].notas[0]);
				printf("2 prova: %0.2f\n", alunos[i].notas[1]);
				printf("3 prova: %0.2f\n", alunos[i].notas[2]);
				printf("Media do aluno: %f\n", media);
				printf("\n-------------\n");

			}
		}
	}
}

void pesquisar(){

	char nome[50];
	int op;
	do{
		system("cls");
		printf("\nDigite o nome do aluno para pesquisar: ");
		fgets(nome, sizeof(nome), stdin);
		for (int i = 0; i < MAX_ALUNOS; ++i)
		{
			if (strstr(alunos[i].nome, nome) != NULL)
			{
				printf("Matricula: %d\n", i + 1);
				printf("Nome: %s\n", alunos[i].nome);
				printf("1 prova: %0.2f\n", alunos[i].notas[0]);
				printf("2 prova: %0.2f\n", alunos[i].notas[1]);
				printf("3 prova: %0.2f\n", alunos[i].notas[2]);
				printf("\n-------------\n");
			}

		}
		printf("\nDigite 0 para sair ou 1 para nova pesquisa: ");
		scanf("%d", &op);
		getchar();
	} while (op != 0);
}


void listar(){
	system("cls");
	printf("\n LISTA DE ALUNOS\n");
	for (int i = 0; i < MAX_ALUNOS; ++i)
	{
		if (alunos[i].ativo == 1)
		{
			printf("Matricula: %d\n", i + 1);
			printf("Nome: %s\n", alunos[i].nome);
			printf("1 prova: %0.2f\n", alunos[i].notas[0]);
			printf("2 prova: %0.2f\n", alunos[i].notas[1]);
			printf("3 prova: %0.2f\n", alunos[i].notas[2]);
			printf("\n-------------\n");

		}
	}
}
void operacoes_basicas(){
float num1,num2;
char oper;
float notas;
float total = 0;
int i,a,x,op;
float subtracao= 0;
float divisao= 0;
float media = 0;
float multiplicacao=0;

        do
        {

            printf("Operacoes disponiveis\n");
            printf("'+' : soma\n");
            printf("'-' : subtracao\n");
            printf("'*' : multiplicao\n");
            printf("'/' : divisao\n");
            printf("'%%' : resto da divisao\n");
            scanf(" %c",&oper);
            system("cls || clear");
            switch( oper )
            {
                case '+':
printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total += notas;
printf("sua soma e igual=%f",total);

}

                        break;

                case '-':
printf("digite a nota que deseja que seja subtraida:\n");
scanf("%d",&x);

printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total += notas;

}
subtracao= x-total;

printf("A media do aluno: %f ", subtracao);

                        break;

                case '*':
                printf("digite a nota que deseja que seja multiplicada");
                 float y;
                int i,a;
                scanf("%f",&y);
printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total *= notas;
multiplicacao= total;
printf("a multiplicação e igual a %f",multiplicacao);
}

printf("total = %f\n",total);



                        break;

case '/':
printf("digite a nota que deseja que seja dividida:\n");
scanf("%d", &x);

printf("Insira a quantidade de notas:\n");
scanf("%d",&a);

printf("Insira notas:\n");

for(i=0;i<a;i++){

scanf("%f",&notas);

}

for(i=0;i<a;i++){

total += notas;

}
divisao= x/total;

printf("A media do aluno: %f ", divisao);
  



                       break;
        default:
                if(num1 != 0 && oper != '0' && num2 != 0){
                            printf(" Operador invalido\n\n ");
              } else{
              printf(" Fechando calculadora!\n ");

             }
            }
        }
        while(op != 0);
  }
 void menu2(){
	bool sair = false;
	int op;
	do {
		system("cls");
		printf("----------MENU PRINCIPAL----------\n[1]OPERACOES BASICAS\n[2]SAIR\n");

		scanf("%d", &op);
		getchar();
		switch (op){
		case 1: operacoes_basicas();
      break;
        case 2:
            sair = true;
            break;
        default: printf("Entrada invalida!\n");
		}
		getchar();
	} while (!sair);
}

esse é ele sem mexer

Link para o comentário
Compartilhar em outros sites

@luckaris

voce declarou no inicio do algoritmo 

typedef struct{
	char nome[50];
	float notas[10];
	int ativo;

} Aluno;

que deveriam armazenar as informações dos aluno

mas na função

11 minutos atrás, luckaris disse:

a função cadastrar

voce inseriu de novo variaveis para guardar as informações dos alunos isso é ambiguidade

	char nome[50];
	float notas[10];

voce tem que ler nas variaveis das estrtuturas e deve usar vetor

void Cadastrar(){
        printf("\nInsira o nome do Aluno: ");
		fflush(stdin);
		gets(aluno.nome);
		printf("Insira a quantidade de notas:\n");
		scanf("%d", &qtd);
		printf("Insira notas:\n");
		for (i = 0; i<qtd; i++)
			scanf("%f", &alunos[i].notas);
}

 

Link para o comentário
Compartilhar em outros sites

começei a fazer mas vou dormir tenta refazer as outras funções amanha eu confiro


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_ALUNOS 50

void menu_prof();
void menu_al();

typedef struct
{
    char nome[50];
    float nota[MAX_ALUNOS];
    int matricula;
} Aluno;

Aluno alunos[MAX_ALUNOS];

int main(int argc, char const *argv[])
{

    int p;
    system("cls");
    printf("\t\tselecione seu perfil de acordo com seu uso\t\t\n");
    printf("digite 1 para entrada de professor e 2 para caso queira o perfil de aluno\n");
    scanf("%d", &p);
    switch (p)
    {
    case 1:
        menu_prof();
        break;
    case 2:
        menu_al();
        break;

    }
}

void menu_prof()
{
    int op;
    printf("----------MENU PRINCIPAL----------\n[1]CADASTRAR\n[2]REMOVER\n[3]REPROVADOS\n[4]APROVADOS\n[5]PESQUISAR\n[6]LISTAR\n[7]OPERACOES BASICAS\n[8]SAIR\n");
    scanf("%d",&op);
    switch(op)
    {
    case 1: cadastrar();
        break;
    case 2://remover();
        break;
    case 3://reprovados();
        break;
    case 4:
        //aprovados();
        break;
    case 5: //pesquisar();
        break;
    case 6: //listar();
        break;
    case 7://operacoes_basicas();
        break;
    case 8:
        exit(1);
    }
    getchar();
}

void menu_al()
{
    int op;
    printf("----------MENU PRINCIPAL----------\n[1]OPERACOES BASICAS\n[2]SAIR\n");
     scanf("%d",&op);
    switch(op)
    {
    case 1: //operacoes_basicas();
        break;
    case 2: exit(1);
        break;
    getchar();
}
}

void cadastrar(){
    int pos=0,qtd=0,i;
    for(int i=0;i<MAX_ALUNOS;i++){
    if(alunos[i].matricula==0){
        break;
        pos=i;
    }
    }
    printf("Digite o nome do aluno: \n");
    fflush(stdin);
    gets(alunos[pos].nome);
    printf("Digite a quantidade de notas: \n");
    scanf("%d",&qtd);
    for(i=0;i<qtd;i++){
        printf("digite a nota %d: ",i+1);
        scanf("%f",&alunos[pos].nota[i]);
    }
}

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@herbertbahia Amigo sera que voce pode me apontar onde estou errando?

#include <stdio.h>
#include <stdlib.h>

int main() {
  int numero,soma,R1,R2,Vin,Vout;
  //Solicitar o valor de R1
    printf ("Entre com o valor de R1:");
    scanf ("%d, &R1");
    //Solicitar o valor de R2
    printf ("Entre com o valor de R2:");
    scanf ("%d, &R2");
    //Solicitar o valor de Vin
    printf ("Entre com o valor de Vin:");
    scanf ("%d, &Vin");
     Vout = R1 + R2 * Vin;
     printf( "o valor de vout e %d", Vout);
}

 

IMG_0812.jpg

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

parece muito simples deve ter alguma pegadinha

adicionado 2 minutos depois

pela expressão é isso mas não tenho certeza

#include <stdio.h>
#include <stdlib.h>

int main() {
  long long int R1,R2,Vin,Vout;
  //Solicitar o valor de R1
    printf ("Entre com o valor de R1:");
    scanf ("%I64d, &R1");
    //Solicitar o valor de R2
    printf ("Entre com o valor de R2:");
    scanf ("%I64d, &R2");
    //Solicitar o valor de Vin
    printf ("Entre com o valor de Vin:");
    scanf ("%I64d, &Vin");
    Vout = ((R2/R1+R2)*Vin); 
     printf( "o valor de vout e %I64d", Vout);
}

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

2 horas atrás, herbertbahia disse:

Vout = ((R2/R1+R2)*Vin);

 

Estão certos de que todos esses valores são inteiros?

Talvez a resistência mas as voltagens provavelmente não e a divisão também acho que não...
 

R1 e R2 são int. Tem certeza de que é uma divisão assim que quer?

	double Vout = ( ( (double)R2 / R1+R2) * Vin );

Talvez algo assim...

 

Sugiro pegar um valor conhecido e testar...

adicionado 0 minutos depois

como @Midori sugeriu...

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

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

Direitos autorais

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

×
×
  • Criar novo...