Autor
|
Tema: Ayuda con programa en c# (Leído 6,982 veces)
|
jet1994
Desconectado
Mensajes: 11
|
Hola a todos
Necesito que me ayuden con un programa en c# (preferiblemente orientado a objetos) que sirva para ingresar un listado de alumnos con nombre,apellido, edad, y sexo preferiblemente que se ingrese por pantalla ¿se puede? un metodo que sirva para ingreasar un nuevo alumno, eliminar alumno, metodo que sirva para ordenar alfabeticamente por nombre, apellido , edad, sexo
en c tendria una idea de como hacerlo pero la verdad es que la programacion en c# se me hace dificil mas si es orientado a objetos
Saludos pasen bien Gracias de antemano
|
|
|
En línea
|
|
|
|
BloodSharp
Desconectado
Mensajes: 804
El Messi-Vegeta :D
|
Buenas, tené en cuenta que posteaste en el foro de C++ cuando querías algo con C#, aún así te voy a dar un ejemplo básico de .NET para que te sirva de referencia pero en C++ ya que este es el subforo de C++. using namespace System; using namespace System::Collections; ref class Alumno { public: String ^Nombre; String ^Apellido; Int32 Edad; Char Sexo; }; void ImprimirAlumnos(ArrayList ^K) { Console::WriteLine("Listado de Alumnos:"); for(int i=0;i<K->Count;i++) { Alumno ^UnAlumno=(Alumno ^)(K[i]); Console::WriteLine("Nombre: "+UnAlumno->Nombre+", Apellido: "+ UnAlumno->Apellido+", Edad: "+UnAlumno->Edad+", Sexo: "+UnAlumno->Sexo); } } int main(array<System::String ^> ^args) { ArrayList ^Alumnos=gcnew ArrayList(); Alumno ^A=gcnew Alumno(); A->Nombre="Cosme"; A->Apellido="Fulanito"; A->Edad=13; A->Sexo='M'; Alumnos->Add(A); A=gcnew Alumno(); A->Nombre="Mengana"; A->Apellido="Sultana"; A->Edad=14; A->Sexo='F'; Alumnos->Add(A); A=gcnew Alumno(); A->Nombre="Asdasd"; A->Apellido="Dsadsa"; A->Edad=12; A->Sexo='M'; Alumnos->Add(A); ImprimirAlumnos(Alumnos); Alumnos->RemoveAt(1); ImprimirAlumnos(Alumnos); Console::ReadKey(); return 0; }
B#
|
|
« Última modificación: 6 Abril 2013, 07:57 am por IEAX »
|
En línea
|
|
|
|
jet1994
Desconectado
Mensajes: 11
|
Muchas gracias me sirvio de mucho ese codigo
Tengo otra duda
como hago para ordenar datos alfabeticamente en 1 arreglo ya sea por nombre , apellido , edad y sexo
|
|
|
En línea
|
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
Busca sobre el metodo de ordenamiento burbuja
|
|
|
En línea
|
|
|
|
|
|
jet1994
Desconectado
Mensajes: 11
|
Hola a todos Gracias por responder ya tengo algo de codigo de mi programa por lo menos ahora el proble ma que tengo es que no puedo presentar la lista alguien que ayude pls esto es lo que tengo asta ahora using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections;
namespace ConsoleApplication2 { class alumno {
public List<string> nombres = new List<string>(); public List<string> apellidos = new List<string>(); public List<int> edades = new List<int>(); public List<string> sexo = new List<string>(); public void adicionar() { Console.WriteLine("selecciono uno"); Console.WriteLine("ingrese nombre del alumno"); nombres.Add(Console.ReadLine()); Console.WriteLine("ingrese el apellido del alumno"); apellidos.Add(Console.ReadLine()); Console.WriteLine("ingrese la edad de la persona"); edades.Add(Int32.Parse(Console.ReadLine())); Console.WriteLine("ingrese sexo de la persona"); sexo.Add(Console.ReadLine()); Console.WriteLine("Ingreso del estudiante exitoso"); Console.ReadKey(); }
public void mostrar() { Console.WriteLine("\nContenido de la lista nombre: "); foreach (string nom in nombres) { Console.WriteLine(nom); } Console.ReadKey(); }
} }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections;
namespace ConsoleApplication2 { class Program { static void Main(string[] args) { menu(); }
public static void menu() { int opcion=0;
alumno estu = new alumno();
do { Console.Clear(); Console.SetCursorPosition(8, 10); Console.WriteLine("menu del proyecto"); Console.SetCursorPosition(5, 12); Console.WriteLine("1.-Ingreso de nuevo estudiante"); Console.SetCursorPosition(5, 13); Console.WriteLine("2.- mostrar lista de estudiantes"); Console.SetCursorPosition(5, 14); Console.WriteLine("3.- ordenar por nombre"); Console.SetCursorPosition(5, 15); Console.WriteLine("4.- salir"); Console.SetCursorPosition(5, 18); Console.WriteLine("(seleccione 1-4)"); opcion = Int32.Parse(Console.ReadLine()); if (opcion < 1 || opcion > 4) Console.WriteLine("ingrese una opcion valida"); } while (opcion < 1 || opcion>4);
switch (opcion) { case 1: estu.adicionar(); menu(); break;
case 2: estu.mostrar(); menu(); break; case 3: Console.WriteLine("selecciono tres"); break; case 4: break; }
Console.ReadLine(); } } }
|
|
|
En línea
|
|
|
|
BloodSharp
Desconectado
Mensajes: 804
El Messi-Vegeta :D
|
Un par de comentarios: class alumno {
public List<string> nombres = new List<string>(); public List<string> apellidos = new List<string>(); public List<int> edades = new List<int>(); public List<string> sexo = new List<string>();
Acá el problema principal es que no estás creando un array del objeto 'alumno' (la idea es crear varios alumnos por eso array de alumnos, fijate el código q te puse más arriba) sino que estás creando arrays de datos de alumnos, lo cuál en parte no está mal ya que una persona puede tener varios nombres y/o apellidos (paterno, materno) pero no puede tener varias edades ni sexos. static void Main(string[] args) { menu(); } Se puede eliminar la función menu() y poner el contenido de esa función en el main... (Aunque eso sería a mi gusto ) public static void menu() { int opcion=0; alumno estu = new alumno(); do { Console.Clear(); Console.SetCursorPosition(8, 10); Console.WriteLine("menu del proyecto"); Console.SetCursorPosition(5, 12); Console.WriteLine("1.-Ingreso de nuevo estudiante"); Console.SetCursorPosition(5, 13); Console.WriteLine("2.- mostrar lista de estudiantes"); Console.SetCursorPosition(5, 14); Console.WriteLine("3.- ordenar por nombre"); Console.SetCursorPosition(5, 15); Console.WriteLine("4.- salir"); Console.SetCursorPosition(5, 18); Console.WriteLine("(seleccione 1-4)"); opcion = Int32.Parse(Console.ReadLine()); if (opcion < 1 || opcion > 4) Console.WriteLine("ingrese una opcion valida"); } while (opcion < 1 || opcion>4);
switch (opcion) { case 1: estu.adicionar(); menu(); break;
case 2: estu.mostrar(); menu(); break; case 3: Console.WriteLine("selecciono tres"); break; case 4: break; }
Console.ReadLine(); } } } El switch lo podrías poner dentro, al final del dowhile, para evitar tener que usar recursividad y verificar si es menor a 1 o mayor a 3 que salga del bucle B#
|
|
|
En línea
|
|
|
|
|
|