Sachverhalt: Sachverhalt: A. K._, geboren 1961, arbeitete ab 1987 bis zur wegen personeller Redimensionierung erfolgten Entlassung per Ende Februar 2002 im Bereich der Flugzeugfracht als Betriebsmitarbeiter für die Firma C._ AG. Seit April 2002 ist er im Umfang von 50 % für die Firma S._ tätig. K._ meldete sich am 14. Juli 2000 bei der Invalidenversicherung zum Leistungsbezug an, worauf die IV-Stelle Schaffhausen - neben Abklärungen in erwerblicher Hinsicht - mehrere Berichte des Hausarztes Dr. med. B._, Facharzt FMH für Allgemeine Medizin, beizog und eine Abklärung in der Klinik X._ veranlasste (Bericht vom 8. Januar 2002 mit Evaluation der funktionellen Leistungsfähigkeit vom 17./18. Dezember 2001). Mit Verfügung vom 6. Juni 2003 lehnte die Verwaltung den Anspruch auf eine Rente der Invalidenversicherung ab und erachtete K._ in einer leidensangepassten Tätigkeit als vollständig arbeitsfähig. Dies wurde durch Einspracheentscheid vom 8. Oktober 2003 bestätigt, wobei auch der in der Einsprache eventualiter geltend gemachte Umschulungsanspruch verneint wurde, da K._ bereits vor der Invalidität in einer Hilfsfunktion tätig gewesen sei und seine kognitiven Fähigkeiten einen Umschulungserfolg als fraglich erscheinen liessen. A. K._, geboren 1961, arbeitete ab 1987 bis zur wegen personeller Redimensionierung erfolgten Entlassung per Ende Februar 2002 im Bereich der Flugzeugfracht als Betriebsmitarbeiter für die Firma C._ AG. Seit April 2002 ist er im Umfang von 50 % für die Firma S._ tätig. K._ meldete sich am 14. Juli 2000 bei der Invalidenversicherung zum Leistungsbezug an, worauf die IV-Stelle Schaffhausen - neben Abklärungen in erwerblicher Hinsicht - mehrere Berichte des Hausarztes Dr. med. B._, Facharzt FMH für Allgemeine Medizin, beizog und eine Abklärung in der Klinik X._ veranlasste (Bericht vom 8. Januar 2002 mit Evaluation der funktionellen Leistungsfähigkeit vom 17./18. Dezember 2001). Mit Verfügung vom 6. Juni 2003 lehnte die Verwaltung den Anspruch auf eine Rente der Invalidenversicherung ab und erachtete K._ in einer leidensangepassten Tätigkeit als vollständig arbeitsfähig. Dies wurde durch Einspracheentscheid vom 8. Oktober 2003 bestätigt, wobei auch der in der Einsprache eventualiter geltend gemachte Umschulungsanspruch verneint wurde, da K._ bereits vor der Invalidität in einer Hilfsfunktion tätig gewesen sei und seine kognitiven Fähigkeiten einen Umschulungserfolg als fraglich erscheinen liessen. B. Die gegen den Einspracheentscheid erhobene Beschwerde wies das Obergericht des Kantons Schaffhausen mit Entscheid vom 23. April 2004 ab. B. Die gegen den Einspracheentscheid erhobene Beschwerde wies das Obergericht des Kantons Schaffhausen mit Entscheid vom 23. April 2004 ab. C. K._ lässt Verwaltungsgerichtsbeschwerde führen mit den Anträgen, unter Aufhebung des vorinstanzlichen Entscheides und des Einspracheentscheides sei ihm eine halbe Rente der Invalidenversicherung, eventualiter Umschulung, zuzusprechen. Die IV-Stelle schliesst auf Abweisung der Verwaltungsgerichtsbeschwerde, während das Bundesamt für Sozialversicherung auf eine Vernehmlassung verzichtet. 