Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Alter aus zweistelligem Jahrgang und Jahr (Selektionen)

Bei diesem Programm gibt der Anwender seinen Jahrgang zweistellig ein (z. B. 88). Das aktuelle Jahr soll auch zweistellig eingegeben werden (z. B. 14). Das Programm gibt dann das Alter des Anwenders korrekt aus unter der Bedingung, dass der Anweder nicht jünger als 3, aber auch nicht älter als 102 Jahre alt ist.

0 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

10 Lösung(en)

package ch.programmieraufgaben.selektion.alter;

import java.util.Scanner;

/**
 * Programmieraufgaben.ch (alter zweistellig)
 * @author Philipp Gressly (phi@gressly.ch)
 *//*
 * History: first Implementation: May 17, 2012
 * Bugs   :
 */
public class AlterZweistellig {
    public static void main(String[] args) {
       new AlterZweistellig().top();
    }
    
    void top() {
       int jahrgang = einlesen("Jahrgang (zweistellig)");
       int aktuellesJahr = einlesen("Aktuelles Jahr (zweistellig)");
       
       int alter = aktuellesJahr - jahrgang;
       if(alter < 3) {
           alter = alter + 100;
       }
       if(alter < 3) {
           alter = alter + 100;
       }
       ausgabe(alter);
    }

    Scanner sc = new Scanner(System.in);
    int einlesen(String groesse) {
       System.out.println("Bitte " + groesse + " eingeben: ");
       return sc.nextInt();
    }
    
    void ausgabe(int alter) {
       System.out.println("Das Alter beträgt: " + alter);
    }
    
} // end of class AlterZweistellig
                

Lösung von: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

// Copyright 2012, Christian J. Kiewiet.
//
///////////////////////////////////////////////////////////////////////////////
// Lösung zur Aufgabenstellung ``Alter aus zweistelligem Jahrgang und Jahr''
//
// ``Bei diesem Programm gibt der Anwender seinen Jahrgang zweistellig ein 
// (z. B. 88). Das aktuelle Jahr soll auch zweistellig eingegeben werden 
// (z. B. 14). Das Programm gibt dann das Alter des Anwenders korrekt aus 
// unter der Bedingung, dass der Anweder nicht jünger als 3, aber auch 
// nicht älter als 102 Jahre alt ist.''
///////////////////////////////////////////////////////////////////////////////
#include <iostream>

/** Calculates a timespan in years that is not less than 3 and not greater than
 * 102 from two values { year_start, year_end } both of which are 0 <= n < 100.
 * The century is inferred in such a way that the above conditions are met. */
int timespan(int year_start, int year_end) {
  int delta = year_end - year_start;
  while (delta < 3) delta += 100;
  return delta;
}

/** Entry point.  Queries for two integers and uses |timespan| to calculate the 
 * delta. */
int main(int argc, char* argv[]) {
  int year_start, year_end;
  std::cin >> year_start >> year_end;
  std::cout << timespan(year_start, year_end) << std::endl;
} 

                

Lösung von: Christian Kiewiet ()

// http://www.khanacademy.org/cs/new

var jahrgang = 99;
var jahr     =  1;

var alter;

alter = jahr - jahrgang;
while(alter < 3) {
    alter = alter + 100;
}

fill(0,0,0);
text("Jahrgang: " + jahrgang + "; Jahr: " + jahr + " -> Alter: " + alter, 30, 30);
                

Lösung von: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

def alter(jahrgang, jahr):
    
    alter = 100 - jahrgang + jahr
    if  alter > 102:
        alter = jahr - jahrgang
    return alter
print alter(input("Jahrgang"), input("Aktuelles Jahr"))
                

Lösung von: Meritio Bruno ()

// Autor:				Andy Großhennig
// Solution for task:	Alter aus zweistelligem Jahrgang und Jahr (Selektionen)

#include <iostream>

using namespace std;

// Function: Get birthyear and actual year, add up the actual year if its lower than the birthyear and calculate the difference.

void calculateAge()
{
	int iBirthYear, iActualYear, iDifference;

	cout << "Geben sie ihren zweistelligen Jahrgang an: ";
	cin >> iBirthYear;
	cout << "\nGeben sie das aktuelle Jahr zweistellig an: ";
	cin >> iActualYear;

	if(iBirthYear >= iActualYear)
	{
		iActualYear += 100;
	}

	iDifference = iActualYear - iBirthYear;

	if(iDifference < 3)
	cout << "Sie sind juenger als 3";
	else if(iDifference > 102)
	cout << "Sie sind aelter als 102";
	else
	cout << "Sie sind " << iDifference << " Jahre alt";
}

int main()
{
	calculateAge();

	cout << "\n\n";
	system("Pause");
	return 0;
}
                

Lösung von: Andy Großhennig (Bundeswehr)

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


int main()
{
	int iJahr;
	int aktJahr = 0;
	int ergJahr = 0;
	
	printf("Bitte geben sie ihr Jahrgang in 2 Stellen an z.B (97): ");
	scanf_s("%i", &iJahr);
	fflush(stdin);

	printf("Bitte geben sie das Aktuelle Jahr ein z.b (14): ");
	scanf_s("%i", &aktJahr);
	fflush(stdin);

	if(aktJahr < iJahr) {
		aktJahr = aktJahr + 100;
	}

	ergJahr = aktJahr - iJahr;

	if(ergJahr < 3) {
		printf("\nSie duerfen nicht juenger als 3 Jahre alt sein!");

		getchar();
		return 0;
	} else if(ergJahr > 102) {
		printf("\nSie duerfen nicht aelter als 102 Jahre alt sein!");

		getchar();
		return 0;
	} else {
		printf("\nSie sind %i Jahre alt.", ergJahr);
	}

	getchar();
	return 0;
}
                

Lösung von: Elias Zech (Optics Balzers)

function twoDigitYear(year, currYear) {
  var diff = currYear - year;
  while (diff < 3) diff += 100;
  return diff;
}

console.log("Dieses Jahr wurden oder werden Sie " +
   twoDigitYear(prompt("Ihr Jahrgang (JJ)"), prompt("Jetziges Jahr (JJ);")));
                

Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)

/**
 *  Programmieraufgabe: Alter aus zweistelligem Jahrgang und Jahr
 *  https://www.programmieraufgaben.ch/aufgabe/alter-aus-zweistelligem-jahrgang-und-jahr/694ee26d
 */

/**
 *  Aus Jahrgang zweistellig ein (z. B. 88) und dem aktuelle Jahr,
 *  auch zweistellig (z. B. 14) das Programm Alter berechnen unter
 *  der Bedingung, dass der Anweder nicht jünger als 3, aber auch
 *  nicht älter als 102 Jahre alt ist.
 *  @param jahrgang Geburtsjahrgang (00..99)
 *  @param jahr Aktuelles Jahr (00..99)
 *  @return Das Alter (3..102)
 */
fun alter(jahrgang: Int, jahr: Int): Int {
    assert(jahrgang in 0..99 && jahr in 0..99)
    return (197 + jahr - jahrgang) % 100 + 3
}


/**
 * Funktion "alter" automatisch testen.
 * @param argv wird ignoriert.
 */
fun main(argv: Array<String>) {
    print("test ... ")
    for (jahrgang in 0..99)
        for (testAlter in 3..102)
            if (alter(jahrgang, (jahrgang + testAlter) % 100) != testAlter) {
                println("Fehler bei Jahrgang=$jahrgang, Alter=$testAlter")
                return
            }
    println("OK")
    val einzelfaelle = arrayOf(
            Pair(90, 95),
            Pair(90, 0),
            Pair(88, 14),
            Pair(88, 89),
            Pair(77, 80),
            Pair(99, 1))
    for ((jahrgang, jahr) in einzelfaelle)
        println("Jahrgang=$jahrgang, Jahr=$jahr -> Alter=${alter(jahrgang, jahr)}")
}

                

Lösung von: Ulrich Berntien ()

// C++ 20 | VS-2022
#include <iostream>
#include <format>

int main() {
    constexpr auto birth_year{ 67 }, current_year{ 22 };
    constexpr auto get_age{ [&]() { auto dif{ current_year - birth_year }; while (dif < 3) dif += 100; return dif; } };
    std::cout << std::format("Geburtsjahr: {}\naktuelles Jahr: {}\nAlter: {}\n", birth_year, current_year, get_age());
}
                

Lösung von: Jens Kelm (@JKooP)

// NET 7.x | C# 11.x | VS-2022
uint birthYear = 57, currentYear = 22;
var getAge = (uint bY, uint cY) => 100 - bY + cY > 102 ? cY - bY : 100 - bY + cY;
Console.WriteLine($"Geburtsjahr: {birthYear}\naktuelles Jahr: {currentYear}\nAlter: {getAge(birthYear, currentYear)}");
                

Lösung von: Jens Kelm (@JKooP)

Verifikation/Checksumme:

90 95 → 5

90 00 → 10

88 14 → 26

88 89 → 101

77 80 → 3

99 01 → 102

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 0.5
Schwierigkeit: Mittel
Webcode: 694e-e26d
Autor: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen