Este código esta corregido:
// test2.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define num 3
int opc=0,nominatemp;
char nomtemp[15],paternotemp[15];
float sueldotemp;
struct trabajadores{
char nom[15];
char paterno[15];
int nomina;
float sueldo;
}trabajador[num];
void registro();
void mostrar();
void ordenar();
void buscar();
void modificar();
void main(){
do{
// system("color 4""3");
system("cls");
printf("Bienvenido al menu\n\n");
printf("1.-Registrar\n2.-Mostrar\n3.-Ordenar por Apellido Paterno\n4.-buscar por nombre\n5.-modificar los datos\n9.-Salir");
printf("\n\nIngrese una opcion:");
scanf("%d",&opc);
switch(opc){
case 1:
registro();
break;
case 2:
mostrar();
break;
case 3:
ordenar();
break;
case 4:
buscar();
break;
case 9:
break;
default:
printf("\nOpcion no valida\n");
system("pause");
break;
}
}while(opc!=9);
}
void registro(){
system("cls");
for(int i=0;i < num; i++){
system("cls");
printf("Registro de Datos\n\n");
printf("Ingresar nombre de la persona %i\n", i+1);
scanf("%s", &trabajador[i].nom);
printf("Ingresar apellido de la persona %i\n",i+1);
scanf("%s", &trabajador[i].paterno);
printf("Ingresar la nomina de la persona (1,2,3) %i\n",i+1);
scanf("%i", &trabajador[i].nomina);
printf("Ingresar sueldo de la persona (nro) %i\n",i+1);
scanf("%f", &trabajador[i].sueldo);
}
}
void mostrar(){
system("cls");
printf("DATOS\n\n");
for(int i=0; i<num; i++){
printf("Persona %d\n\n",i+1);
printf("Nombre: %s\n",trabajador[i].nom);
printf("Apellido: %s\n",trabajador[i].paterno);
printf("Nomina: %d\n",trabajador[i].nomina);
printf("Sueldo: %.2f\n\n\n",trabajador[i].sueldo);
}
system("pause");
}
void ordenar(){
system("cls");
printf("Los Trabajadores ordenados por apellido paterno son:\n\n");
for(int i1=0;i1<num-1;i1++){
for(int j=i1+1;j<num;j++){
if(strcmp(trabajador[i1].paterno,trabajador[j].paterno)>0){
trabajador[num+2]=trabajador[j];
trabajador[j]=trabajador[i1];
trabajador[i1]=trabajador[num+2];
}
}
}
for(int i2=0;i2<num;i2++){
printf("Persona %d\n\n",i2+1);
printf("Nombre: %s\n",trabajador[i2].nom);
printf("Apellido: %s\n",trabajador[i2].paterno);
printf("Edad: %d\n",trabajador[i2].nomina);
printf("Sueldo: %.2f\n\n\n",trabajador[i2].sueldo);
}
system("pause");
}
void buscar(){
system("cls");
int comparador=0;
char nombre[15];
printf("ingrese el nombre del tarabajador: \n\n");
scanf("%s",&nombre);
for(int i=0;i<num;i++)
{
if(strcmp(trabajador[i].nom,nombre)==0)
{
printf("Persona %d\n\n",i+1);
printf("Nombre: %s\n",trabajador[i].nom);
printf("Apellido: %s\n",trabajador[i].paterno);
printf("Edad: %d\n",trabajador[i].nomina);
printf("Sueldo: %.2f\n\n\n",trabajador[i].sueldo);
comparador+=1;
}
}
system("pause");
}
*****************************
Estos son los resultados
Despliegue de menu
Bienvenido al menu
1.-Registrar
2.-Mostrar
3.-Ordenar por Apellido Paterno
4.-Buscar por nombre
5.-Modificar los datos
9.-Salir
Ingrese una opción:
**************************
Despligue de registro:
Registro de Datos
Ingresar nombre de la persona 3
María
Ingresar apellido de la persona 3
Pacheco
Ingresar la nomina de la persona (1,2,3) 3
1
Ingresar sueldo de la persona (nro) 3
1200
***************************
Despliegue de mostrar datos
Datos
Persona 1
Nombre: omar
Apellido: aguiar
Nomina: 1
Sueldo: 3400.00
Persona 2
Nombre: pedro
Apellido: perez
Nomina: 2
Sueldo: 1200.00
Persona 3
Nombre: maría
Apellido: pacheco
Nomina: 1
Sueldo: 1200.00
Presione una tecla para