Programación de 6 dígitos
(1) Introducir varios registros.
(2) Mostrar todos los registros
(3) Ordenar por número de estudiante
(4) Insertar un registro
(5) Buscar por nombre y eliminar un registro.
(6) Buscar y mostrar registros
(7) Generar información estadística (nuevo)
(8) Agregar datos en el texto a la matriz de estructura central .
(9) Escribe todos los datos en el archivo.
(0) Salir del programa
2. Análisis del tema
Esta pregunta examina principalmente la manipulación de estructuras, punteros, archivos y su comprensión de C por parte de los estudiantes. Dominio de los algoritmos del lenguaje, por lo que completar esta pregunta requiere fuertes capacidades de diseño, especialmente conciencia general. La forma de depurar su programa también es importante. A través de este programa, puede adquirir experiencia que no tenía antes de depurar programas cortos.
Cada opción del menú corresponde a una subrutina, y el algoritmo de la subrutina cubre casi todas las habilidades aprendidas en lenguaje C. Las siguientes son las funciones en cada subrutina:
El algoritmo de la función 1 es similar al algoritmo de la función 4. Al ingresar un registro en la estructura, uno de los puntos clave es ingresar todos los caracteres adicionales a través de get; de lo contrario, se producirá un error.
La función 2 es mostrar todos los registros y generarlos a través de un bucle. El formato también es muy importante.
La función 3 es ordenar por número de estudiante. Debido a que el número de estudiante se define como una matriz de caracteres, al ordenar usando el método de burbuja, se deben usar strcmp, strcpy y otras funciones.
La función 5 es eliminar registros por nombre. Ingrese el nombre primero y luego compárelos uno por uno. Si no hay ningún nombre, se devolverá un mensaje de error. Si se encuentran, todos los registros avanzan uno y se devuelve n-1.
El algoritmo de la función 6 se ha implementado en la 5. Ingrese los nombres y compárelos uno por uno.
La función 7 es una función nueva debido a que no existe una función estadística para los puntajes de los estudiantes en la función original, al agregar esta función se pueden obtener todos los registros, el puntaje más alto, el puntaje más bajo, el puntaje promedio y generar información relevante del estudiante. .
Las funciones 8 y 9 operan sobre archivos y los datos se preparan de antemano.
Diseño general
Primero, lea atentamente los requisitos del sistema. En primer lugar, esta sistematización se divide en los siguientes módulos (es decir, las siguientes funciones).
1. Ingrese la información inicial del estudiante: incluido el nombre del estudiante, el número del estudiante, el sexo y el idioma, matemáticas, inglés, computadora y otra información relacionada del estudiante, se puede usar la función cin (stu *p1); esta operación.
2. Módulo de consulta: se puede implementar a través de stu *lookdata (stu *p1). Si se encuentra, genere toda la información sobre el estudiante, incluidas sus calificaciones en chino, matemáticas, inglés y computadora.
3. Insertar módulos: Esto se puede lograr mediante la función insert(). Entre ellos, compare según el tamaño del número de estudiantes y ordénelos según esto.
4. Genere información y puntajes de los estudiantes: vea los puntajes de chino, matemáticas, inglés y computación de los estudiantes por nombre, y también puede usar caverage(), maverage(), e Average() y copromedio respectivamente () Genera los puntajes promedio, más alto y más bajo para chino, matemáticas, inglés y puntajes relacionados con la computadora.
5. Salga del sistema: Puede utilizar la función exit().
Sistema de Gestión del Desempeño Estudiantil
Por favor seleccione el número correspondiente para realizar la función correspondiente:
1: ¿Ingresar otros datos?
2: Ver datos
3: Insertar datos
4: Buscar datos
5: Actualizar datos
6: Guardar datos
7: Mostrar o imprimir datos
8. Estado del rendimiento del idioma
9. : Puntuación en inglés
11: Rendimiento del ordenador
12:?
13: Salir del sistema
Problemas y soluciones planificados
Pregunta 1: Módulo de información inicial para estudiantes:
Incluyendo el nombre del estudiante, el número del estudiante y el sexo, así como información relacionada con el chino, las matemáticas, el inglés y la función informática de los estudiantes cin(stu *; p1) se puede utilizar para lograr esto. Cuando el número de estudiante existente se ingresa correctamente y el sistema emite un juicio, significa que el estudiante no existe.
Soluciones y pasos:
1. Genere las identificaciones de todos los estudiantes uno por uno, verifique si este estudiante está en el archivo y descubra que sí.
2. Dado que existe este estudiante, verifique el bucle para determinar si alguna de las oraciones de este estudiante es correcta.
3. La salida se utiliza para verificar la información del estudiante en la oración en un bucle y encontrar caracteres confusos.
4. Analice cuidadosamente la causa del código confuso y finalmente descubra que el tipo de variable es incorrecto y que la variable de puntero de estructura de tipo estudiante está definida incorrectamente como una variable de puntero de otros tipos.
Pregunta 2. Módulo de consulta:
Se puede implementar a través de stu *lookdata (stu *p1). Si se encuentra, genere toda la información sobre el estudiante, incluidas sus calificaciones en chino, matemáticas, inglés y computadora. Cuando la información de búsqueda se ingresa correctamente, el sistema no puede obtener la información de los estudiantes ni sus calificaciones en chino, matemáticas, inglés y computadora.
Soluciones y pasos:
1. Verifique si el código del programa que escribió es completamente correcto, si es incorrecto, cámbielo y luego continúe ingresando la información de búsqueda correctamente para ver. si puede obtenerla, la información del estudiante que está buscando y los puntajes de chino, matemáticas, inglés y computación del estudiante.
2. Al ingresar la información de búsqueda, verifique si la información que ingresamos es correcta. Si este es el caso, ingrese la información de búsqueda con cuidado.
Pregunta 3: Insertar módulos:
Se puede implementar usando la función insert(). Entre ellos, compare según el tamaño del número de estudiantes y ordénelos según esto. Cuando ingresamos la información de inserción, el sistema indica que los datos no se pueden insertar.
Soluciones y pasos:
1. Compruebe si el código del programa escrito es completamente correcto. Si no es correcto, cámbielo y luego continúe ingresando la información de inserción correctamente para ver. si se puede insertar, la información del estudiante que se insertará y los puntajes de chino, matemáticas, inglés y computadora del estudiante.
2. Cuando ingresamos la información de inserción, verificamos si la información de inserción que ingresamos es
informe de diseño de curso de idiomas c
1. Propósito y requisitos de la práctica.
Profundice su comprensión de los conocimientos aprendidos en los cursos de lenguaje C y consolide aún más las reglas de la enseñanza del lenguaje C. Aprenda a escribir programas en lenguaje C con estructura clara, buen estilo y estructura de datos adecuada, para tener la capacidad de resolver problemas prácticos integrales.
En segundo lugar, contenido
Dominar los conocimientos básicos del lenguaje C: tipos de datos (enteros, números reales, caracteres, punteros, matrices, estructuras, etc.); , operaciones lógicas, operaciones de incremento y decremento, operaciones de asignación, etc. (estructura secuencial, estructura de selección de juicio, método de descomposición de funciones de estructura de bucle de programas grandes (es decir, uso de funciones), etc.) Domine aún más la aplicación de varias funciones, incluida la función de tiempo, la función de dibujo y las operaciones de lectura y escritura de archivos.
Terceras tareas prácticas
1. Sistema de gestión del desempeño de los estudiantes
Crear cinco formularios de registro de información de los estudiantes. La información de cada estudiante incluye: número de estudiante, nombre y calificaciones en tres cursos (matemáticas, C, inglés).
Se muestra un menú simple cuando el programa se está ejecutando, como por ejemplo:
(1): Entrada de información (input)
(2): Mostrar información (display)
(3): Estadísticas de puntuación total (recuento)
(4): Clasificación de puntuación total (SORT)
(5): Consulta
Incluyendo :
(1): ingrese la información de cinco estudiantes;
(2): muestre la información del registro del estudiante actual y proporcione un mensaje si no hay ningún registro <; /p>
(3) Las puntuaciones totales de los tres cursos de cada estudiante
(4) Muestra las puntuaciones totales de 5 estudiantes en orden ascendente
(5): Puede pasar el "número de identificación del estudiante" y el "nombre" para consultar la información relevante del estudiante.
Diseño general:
Resumen de sensaciones
Desarrollar un compilador es un proceso largo. Necesito pensar detenidamente en cada módulo, comprender completamente cada algoritmo y diseñar cada estructura de datos. Durante todo el proceso de finalización del diseño del curso, obtuvimos principalmente los siguientes conocimientos.
1 Debes aprender a analizar en detalle problemas concretos.
Cuando comencé a escribir código, ya había leído los libros de texto y los libros de dragones, pero cuando realmente comencé, descubrí que no era tan claro como decían los libros. Las características del lenguaje C son diferentes a las de los lenguajes ilustrados en el libro. En este momento, no podemos copiar mecánicamente los algoritmos del libro. Es necesario combinar las características del lenguaje C y utilizar las ideas del libro para resolver el problema.
2 La importancia de diseñar estructuras de datos
En el proceso de escribir código, el fenómeno más común es modificar repetidamente la estructura de datos, o incluso volver atrás y modificar el código intermedio durante estructura de datos de optimización. Esto resultó en una reducción en mi eficiencia de codificación y las repetidas modificaciones a la estructura de datos hicieron que todo el proyecto fuera extremadamente difícil de mantener. Se puede ver que el diseño de la estructura de datos es muy importante en toda la etapa de diseño. Sin una estructura de datos bien diseñada, la fase de codificación no se desarrollará sin problemas.
3 Comunicación
Muchos de los problemas que encontramos en las primeras etapas de desarrollo se resolvieron a través de la comunicación con los compañeros. Las explicaciones desinteresadas y pacientes de los estudiantes no solo hicieron que todo el diseño del curso transcurriera sin problemas, sino que también nos permitieron a cada uno de nosotros aprender mucho.
En general, el diseño de este curso de compilación realmente me benefició mucho. A través de esta práctica, tengo una comprensión profunda del conocimiento del libro y mejoré mi capacidad práctica. Más importante aún, aprendí una serie de métodos de resolución de problemas, como máquinas de estados finitos, guía de sintaxis y otras tecnologías, que se utilizan ampliamente. A través del estudio de la optimización del código, también sé cómo hacer que el código que escribo se ejecute de manera más eficiente, sentando las bases para mi futuro trabajo práctico. La compilación es una disciplina que combina estrechamente conocimientos informáticos como lenguajes de programación, estructuras de datos, algoritmos, arquitectura informática e ingeniería de software. Será de gran ayuda para mi futuro estudio y trabajo.