You are on page 1of 9

UNIVERSIDADE PEDAGÓGICA DE MAPUTO (UPM)

FACULDADE DE ENGENHARIA E TECNOLOGIA (FET)


Curso: Eng. Electrónica 1º ano, período: pós-laboral
Cadeira: Programação Imperativa em C Avançado
Nome: Naftal Aurélio Benzane

Exercicio 1
#include<stdio.h>
struct
{
/* data */
char nome[30], adress[20];
int idade;
}Dado;
void Dados(){
printf("\n\tInforme o seu nome: ");
gets(Dado.nome);
printf("\tInforme o seu endereco: ");
gets(Dado.adress);
printf("\tInforme a sua idade: ");
scanf("%d", &Dado.idade);
fflush(stdin);
}
int main(){
Dados();
return 0;
}

Exercicio 2
#include<stdio.h>
struct {
char nome[30], curso[20];
int nrMatr;
}Aluno[5];

void Alunos(){
for(int i = 0; i < 5; i += 1){
printf("\n\t%d. Informe o nome: ", (i + 1));
gets(Aluno[i].nome);
printf("\tInfoeme o curso: ");
gets(Aluno[i].curso);
fflush(stdin);
printf("\tInforme o nr da Matricula: ");
scanf("%d", &Aluno[i].nrMatr);
fflush(stdin);
}
}
int main(){ Alunos(); return 0; }

Exercicio 3
#include <stdio.h>
#include <string.h>
struct compromisso
{ char Tcomprimisso[60];
int hora, minutos, dia,mes,ano;
};

int main(){
struct compromisso c;
do{
printf("\ndigita hora: ");
scanf("%d",&c.hora);
}while(c.hora>23 || c.hora<0);

do{
printf("\ndigita minutos: ");
scanf("%d",&c.minutos);
}while(c.minutos>59 || c.minutos<0);
do{
printf("digita o dia: ");
scanf("%d",&c.dia);
}while(c.dia>31 || c.dia<0);
do{
printf("digita o mes: ");
scanf("%d",&c.mes);
}while(c.mes>12 || c.mes<0);

do{
printf("\ndigita o ano: ");
scanf("%d",&c.ano);
}while(c.ano<2022);

printf("\ndigita o compromisso: ");


gets(c.Tcomprimisso);

printf("\nO horario e: %dh%d minutos ",c.hora,c.minutos);


printf("\nA data e: %d/%d/%d ",c.dia,c.mes,c.ano);
printf("\nO compromisso e: %s",c.Tcomprimisso);

system("pause");
return 0;
}

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

struct alfabetica{
int x,y,z,compara;
char nomes[10][15],aux[15]
};

int main(){
struct alfabetica n;
for(n.x=0; n.x<=9; n.x++){
printf("\n\t%d. Informe o nome: ", (i+1));
gets(n.nomes[n.x]);
}
for(n.x=0;n.x<=9;n.x++){
for(n.y=1+n.x;n.y<=9;n.y++){
n.compara=strcmp(n.nomes[n.x],n.nomes[n.y]);
if(n.compara>0){
strcpy(n.aux,n.nomes[n.x]);
strcpy(n.nomes[n.x],n.nomes[n.y]);
strcpy(n.nomes[n.y],n.aux);
}
}
}
printf(" nomes ordenados: \n");
for(n.x=0; n.x<=9;n.x++){
puts(n.nomes[n.x]);
}

return 0;}

Exercicio 5
#include<stdio.h>
struct
{
int dia, mes, ano;
}User;

void Usuario(){
time_t s;
struct tm* tempo_corrente;

s = time(NULL);
tempo_corrente = localtime(&s);

printf("\n\tInforme o dia: ");


scanf("%d", &User.dia);
printf("\tInforme o mes: ");
scanf("%d", &User.mes);
printf("\tInforme o ano: ");
scanf("%d", &User.ano);

printf("\n\tDados do Usuario: %d/%d/%d", User.dia,


User.mes, User.ano);
//BUSCANDO DADOS DO COMPUTADOR
printf("\n\tO ano buscado pelo sistema eh: %d\n\n",
(tempo_corrente->tm_year + 1900));
}
int main(){ Usuario(); return 0; }

Exercicio 6
#include<stdio.h>
#include<string.h>
typedef struct{
char bairro[20], cidade[20];
}atMorada;
struct {
char nome[30], sexo[10];
atMorada Morada;
float salario;

}CAD[2];

void CADASTRO(){
int esc;
printf("\n\tESCOLHA UMA ALINEA: \n\t1. CADASTRAR DOIS
ELEMENTOS;\n\t2. VISUALIZAR OS ELEMENTOS DA ESTRUTURA\n\t3.
ENCONTRAR PESSOA COM MAIOR SALARIO\n\t4. PESSOAS DE SEXO
MASCULINO\n\t5. ENCONTRAR UM ELEMENTO");
scanf("%d", &esc);

switch (esc)
{
case 1:
for(int i = 0; i < 2; i += 1){
fflush(stdin);
printf("\n\t%d. Informe o nome: ");
gets(CAD[i].nome);
printf("\tInforme o sexo: ");
gets(CAD[i].sexo);
printf("\tInforme o bairro: ");
gets(CAD[i].Morada.bairro);
printf("\tInforme a cidade: ");
gets(CAD[i].Morada.cidade);
printf("\tInforme o seu salario: ");
scanf("%f", &CAD[i].salario);
fflush(stdin);
}
break;

case 2:
for(int i = 0; i < 2; i += 1){
printf("\n\t%d. Nome: %s", CAD[i].nome);
printf("\t Sexo: %s", CAD[i].sexo);
printf("\t Bairro: %s", CAD[i].Morada.bairro);
printf("\t Cidade: %s", CAD[i].Morada.cidade);
printf("\t Salario: %.3fMT", CAD[i].salario);
}

break;

case 3:
for(int i = 0; i < 2; i += 1){
for(j = 0; j < 2; j += 1){
if(CAD[i].salario > CAD[j].salario){
printf("\n\tFuncionario com maior salario: %s",
CAD[i].salario); }
}
}
break;

case 4:
char sTest;
printf("\n\tInforme o sexo: ");
gets(sTest);
for(int i = 0; i < 2; i += 1){
if(strcmp(sTest, CAD[i].sexo) == 0){
printf("\n\tNome: %s", CAD[i].nome);
}
}
break;

case 5:
char nome[30];
printf("\n\tInforme o nome a encontrar: ");
gets(nome);
for(int i = 0; i < 2; i += 1){
if(strcmp(nome, CAD[i].sexo) == 0){
printf("\n\tNome: %s", CAD[i].nome);
}
}

break;
default:
printf("\n\tNAO EXISTE\n\n\n");
break;
} }
Exercicio 7
#include<stdio.h>
struct
{
char codeMat[20], nome[30];
float nt1, nt2, nt3;
}AlunoCurso[2];

int main(){
//Dados();
//Alunos();
//Usuario();
//CADASTRO();
int nCadastro,escOpt;
printf("\n\tQuantos pretendes cadastrar?\n\tR: ");
scanf("%d", nCadastro);
printf("\n\tESCOLHA UMA OPERACAO: \n\t1. Registrar dados
dos alunos\n\t2. encontrar o aluno com maior nota da primeira
prova\n\t3. aluno com maior media\n\t4. aluno com menor
media\n\t5. situacao do aluno\n\t0. sair\n\tR: ");
scanf("%d", &escOpt);

switch (escOpt)
{
case 1:
for(int i = 0; i < 2; i += 1){
printf("\n\tNome: ");
gets(AlunoCurso[i].nome);
printf("\tCodigo de matricula: ");
gets(AlunoCurso[i].codeMat);
printf("\tNota 1: ");
scanf("%f", &AlunoCurso->nt1);
printf("\tNota 2: ");
scanf("%f", &AlunoCurso->nt2);
printf("\tNota 3: ");
scanf("%f", &AlunoCurso->nt3);
}

break;
case 2:
for(int i = 0; i < 2; i += 1){
for(int j = 0; j < 2; j += 1){
if(AlunoCurso[i].nt1 > AlunoCurso[j].nt1){
printf("\n\tAluno com maior nota na N1 eh: %s",
AlunoCurso[i].nome); }
}
}
break;

case 3:
for(int i = 0; i < 2; i == 1){
for(int j = 0; j += 1){
if(((AlunoCurso[i].nt1 + AlunoCurso[i].nt2 +
AlunoCurso[i].nt3) / 3) > ((AlunoCurso[j].nt1 +
AlunoCurso[i].nt2 + AlunoCurso[i].nt3)/3)) {
printf("\n\tO aluno com maior meda eh:
%s", AlunoCurso[i].nome);
}
}
}
break;

for(int i = 0; i < 2; i == 1){


for(int j = 0; j< 3; j += 1){
if(((AlunoCurso[i].nt1 + AlunoCurso[i].nt2 +
AlunoCurso[i].nt3) / 3) > ((AlunoCurso[j].nt1 +
AlunoCurso[i].nt2 + AlunoCurso[i].nt3)/3)) {
printf("\n\tO aluno com menor meda eh:
%s", AlunoCurso[j].nome);
}
}
}
break;

for(int i = 0; i < 2; i == 1){


for(int j = 0; j < 2; j += 1){
if(((AlunoCurso[i].nt1 + AlunoCurso[i].nt2 +
AlunoCurso[i].nt3) / 3) > ((AlunoCurso[j].nt1 +
AlunoCurso[i].nt2 + AlunoCurso[i].nt3)/3)) {
printf("\n\tO aluno com maior meda eh:
%s", AlunoCurso[i].nome);
}
}
}
break;

for(int i = 0; i < 2; i == 1){


for(int j = 0; j < 2; j += 1){
if((AlunoCurso[i].nt1 + AlunoCurso[i].nt2 +
AlunoCurso[i].nt3) / 3 >= 10) {
printf("\n\tAPROVADO: %s",
AlunoCurso[i].nome);
}else if((AlunoCurso[i].nt1 +
AlunoCurso[i].nt2 + AlunoCurso[i].nt3) / 3 < 10) {
printf("\n\tREPROVADO: %s",
AlunoCurso[i].nome);

}
}
}
break;;

default:
printf("\n\tNAO EXISTE\n\n");
break;

return 0;
}

You might also like